0

如果一个属性被调用但在类实例中不存在,是否可以定义一个不返回 AttributeError 异常的python类?像

class A():
    pass

a = A()
a.tutu <==not raising AttributeError

谢谢

4

1 回答 1

3

你可以在你的类上定义一个__getattr__方法。请参阅文档

这是一个简单的示例,它为所有缺失的属性赋予值“默认”:

>>> class Foo(object):
...     def __getattr__(self, attr):
...         return "Default"
>>> f = Foo()
>>> f.someJunk
'Default'
于 2012-08-23T06:20:32.783 回答