【问题标题】:Python: set class method as class attributPython:将类方法设置为类属性
【发布时间】:2011-06-11 18:20:17
【问题描述】:

以下内容在 python 3 中似乎无效:

class A:
 callback = A.callback_function

 def callback_function(self):
  pass

您将收到一条错误消息,指出未定义类型“A”。是因为“A”本身不能被引用吗?反正我可以实现这种功能吗?

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

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()

【问题讨论】:

    标签: python function static attributes callback


    【解决方案1】:

    好吧,你可以将你的函数命名为callback,它会是一样的,但如果你真的坚持这样:

    class A:
        def callback_function(self): pass
    
        callback = callback_function
    

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 2018-09-29
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2015-12-08
      相关资源
      最近更新 更多