Как переместить функцию в класс? питон
Я хотел бы использовать сервисные функции в методе класса, где сервисная функция определяется где-то еще. Я хочу быть динамичным, чтобы я мог определять разные функции в разных ситуациях. Я пробовал это:
def print_a():
print 'a'
class A:
func = print_a
@classmethod
def apply(cls):
cls.func()
A.apply()
Все же я получаю эту ошибку:
unbound method print_a() must be called with A instance as first argument (got nothing instead)
Есть идеи, как заставить это работать?
1 ответ
Вы можете использовать звонок
def print_a():
print 'a'
class A:
func = print_a.__call__
@classmethod
def apply(cls):
cls.func()
A.apply()
Выход
a