Нередко требуется определить множество различных функций, которые должны иметь один и тот же прототип в C.
int f(int x, int y, char z, char *w);
int g(int x, int y, char z, char *w);
int h(int x, int y, char z, char *w);
int i(int x, int y, char z, char *w);
int j(int x, int y, char z, char *w);
Оставить открытой возможность добавления дополнительного параметра к каждой из этих Функции, не меняя много строк кода, я могу использовать препроцессор, чтобы оставаться гибким:
#define FUNCTION(func) int (func)(int x, int y, char z, char *w)
, а затем заменить мои прототипы на
FUNCTION(f);
FUNCTION(g);
FUNCTION(h);
FUNCTION(i);
FUNCTION(j);
А потом, когда я go чтобы определить функции, я бы использовал строки вроде:
FUNCTION(f)
{
//do something with x,y,z,w
}
FUNCTION(g)
{
//do something else with x,y,z,w
}
Есть ли способ выполнить sh это в python? то есть возможно ли определить множество функций в Python, все из которых принимают одинаковые параметры, а затем изменить их параметры (скажем, добавить или удалить одну), изменив одну строку?