如果一个属性被调用但在类实例中不存在,是否可以定义一个不返回 AttributeError 异常的python类?像
class A():
pass
a = A()
a.tutu <==not raising AttributeError
谢谢
如果一个属性被调用但在类实例中不存在,是否可以定义一个不返回 AttributeError 异常的python类?像
class A():
pass
a = A()
a.tutu <==not raising AttributeError
谢谢
你可以在你的类上定义一个__getattr__
方法。请参阅文档。
这是一个简单的示例,它为所有缺失的属性赋予值“默认”:
>>> class Foo(object):
... def __getattr__(self, attr):
... return "Default"
>>> f = Foo()
>>> f.someJunk
'Default'