擅长:python、mysql、java
<p>亚历克斯的回答很好,但在你要求的时候给了你一个示例代码:)</p>
<pre><code>class foo:
def __init__(self):
self.a = "a"
def __getattr__(self, attribute):
return "You asked for %s, but I'm giving you default" % attribute
>>> bar = foo()
>>> bar.a
'a'
>>> bar.b
"You asked for b, but I'm giving you default"
>>> getattr(bar, "a")
'a'
>>> getattr(bar, "b")
"You asked for b, but I'm giving you default"
</code></pre>
<p>简言之,答案是</p>
<p>你用</p>
<p><code>__getattr__</code>到<strong>定义</strong>如何处理未找到的属性</strong></p>
<p>以及</p>
<p><code>getattr</code>到<strong>获取<strong>属性</p>