gpt4 book ai didi

Python - 存在一个在对象未实现函数时调用的函数?

转载 作者:太空狗 更新时间:2023-10-29 21:23:13 25 4
gpt4 key购买 nike

在 Smalltalk 中有一个消息 DoesNotUnderstand 当一个对象不理解一个消息时调用它(这是,当对象没有实现消息发送时)。

所以,我想知道在 python 中是否有一个函数可以做同样的事情。

在这个例子中:

class MyObject:
def __init__(self):
print "MyObject created"

anObject = MyObject() # prints: MyObject created
anObject.DoSomething() # raise an Exception

那么,我可以向 MyObject 添加一个方法,这样我就可以知道何时要调用 DoSomething 吗?

PS:抱歉我的英语不好。

最佳答案

这是你想做的事情的建议:

class callee:
def __init__(self, name):
self.name = name

def __call__(self):
print self.name, "has been called"


class A:
def __getattr__(self, attr):
return callee(attr)

a = A()

a.DoSomething()
>>> DoSomething has been called

关于Python - 存在一个在对象未实现函数时调用的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com