python中编完类后到实例编写_编写一个接受Python回调的类?
我需要编写一个类,允许一个子类用函数名设置一个属性。然后,该函数必须可以从类的实例中调用。
例如,我说我需要编写一个水果类,子类可以在其中传递欢迎消息。水果类必须公开可以设置的属性print_callback。class Fruit(object):
print_callback = None
def __init__(self, *args, **kwargs):
super(Fruit, self).__init__(*args, **kwargs)
self.print_callback(“Message from Fruit: “)
我需要公开此代码可以使用的API(要清楚,此代码不能更改,例如它是第三方代码):def apple_print(f):
print “%sI am an Apple!” % f
class Apple(Fruit):
print_callback = apple_print
如果我跑:mac = Apple()
我想得到:Message from Fruit: I am an Apple!
相反,我得到:TypeError: apple_print() takes exactly 1 argument (2 given)
我认为这是因为自我是作为第一个论点传入的。
那我该怎么写水果课呢?谢谢!
还没有评论,来说两句吧...