В Python 3, по-видимому, недопустимо следующее:
class A:
callback = A.callback_function
def callback_function(self):
pass
Вы получите сообщение о том, что тип «А» не определен. Это потому, что «А» не может упоминаться само по себе? Могу ли я в любом случае достичь такой функциональности?
Я пытаюсь сделать что-то вроде этого: у меня есть базовый класс:
class Base:
callback = Base.ignore
def ignore(self):
pass
def some_other_function(self):
self.callback()
В подклассе я хотел бы установить другую функцию обратного вызова:
class Derived(Base):
callback = Derived.special_function
def special_function(self):
do_stuff()