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 に答える