我试图防止一个实例从抛出异常,如果不为实例中存在一个方法被调用的方法。我曾尝试以下:防止被称为如果不正确使用__getattr__
class myClass(object):
def __init__(self):
pass
def __getattr__(self,name):
print "Warning - method {0} does not exist for this instance".format(name)
o = myClass()
var = o.someNonExistantFunction()
的问题是,我得到以下错误:
TypeError: 'NoneType' object is not callable
的两件事情我想要做的肯定是:
- 返回
None
因为我的代码可以处理的变量被设置为None
- 执行功能(打印一条警告消息)
什么是做到这一点的干净的方式?
非常感谢!刚刚为placeholder()添加了'* args,** kwargs'参数,以确保它可以使用参数处理不存在的方法(直到它被同行评审才会出现) – chuckus 2012-01-11 02:04:36