是否可以定義一個python類,如果某個屬性被調用但不存在於類實例中,該類不會返回AttributeError異常?像接受任何屬性的類
class A():
pass
a = A()
a.tutu <==not raising AttributeError
感謝
是否可以定義一個python類,如果某個屬性被調用但不存在於類實例中,該類不會返回AttributeError異常?像接受任何屬性的類
class A():
pass
a = A()
a.tutu <==not raising AttributeError
感謝
你可以定義你的類__getattr__
方法。請參閱the documentation。
這裏有一個簡單的例子,讓所有缺少的屬性值「默認值」:
>>> class Foo(object):
... def __getattr__(self, attr):
... return "Default"
>>> f = Foo()
>>> f.someJunk
'Default'
完美!謝謝 –
這個用戶應該知道,這將導致所有'hasattr'調用返回'True',並且在調用時也不會真正將屬性添加到對象的'__dict__'。 –
你要什麼,而不是發生提高異常? –