Python:将类方法设置为类attribut

mrm*_*vin 0 python static attributes function callback

以下似乎在python 3中无效:

class A:
 callback = A.callback_function

 def callback_function(self):
  pass
Run Code Online (Sandbox Code Playgroud)

您将收到错误消息,指出未定义类型"A".是因为'A'不能自称为"A"吗?无论如何我能实现这种功能吗?

我想要做的是这样的:我有一个基类:

class Base:
 callback = Base.ignore

 def ignore(self):
  pass

 def some_other_function(self):
  self.callback()
Run Code Online (Sandbox Code Playgroud)

在子类中,我想设置另一个回调函数:

class Derived(Base):
 callback = Derived.special_function

 def special_function(self):
  do_stuff()
Run Code Online (Sandbox Code Playgroud)

Cat*_*lus 9

好吧,你可以命名你的功能callback,它也会一样,但如果你真的坚持这样:

class A:
    def callback_function(self): pass

    callback = callback_function
Run Code Online (Sandbox Code Playgroud)