python中编完类后到实例编写_编写一个接受Python回调的类?

骑猪看日落 2022-10-23 14:29 22阅读 0赞

我需要编写一个类,允许一个子类用函数名设置一个属性。然后,该函数必须可以从类的实例中调用。

例如,我说我需要编写一个水果类,子类可以在其中传递欢迎消息。水果类必须公开可以设置的属性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)

我认为这是因为自我是作为第一个论点传入的。

那我该怎么写水果课呢?谢谢!

发表评论

表情:
评论列表 (有 0 条评论,22人围观)

还没有评论,来说两句吧...

相关阅读