В настоящее время я работаю над проблемой, когда многие классы будут основаны на базовом классе.Я хочу, чтобы эти классы унаследовали статическую функцию от базового класса, который в свою очередь вызывает статическую функцию.Эта вторая статическая функция, однако, будет определена для каждого класса.
Простой пример будет:
class foo():
@staticmethod
def fn1(x):
return x
@staticmethod
def fn2(x, y):
return foo.fn1(x + y)
class bar(foo):
@staticmethod
def fn1(x):
return 2*x
С приведенным выше кодом bar.fn2(1, 2)
возвращает foo.fn1(1 + 2)
, и я бы вместо этогонравится возвращать bar.fn1(1 + 2)
.
Возможно ли это сделать со статическими методами в python без определения fn2 для каждого класса?
Благодарен за любую помощь!