类的特殊方法
__getattr__

类的特殊方法

__getattr__

>>> class Foo(object):
...   def __getattr__ (self,name):
...     return "%s 的值" % name
...
>>> foo = Foo()
>>> foo.just_this = "Some value"
>>> foo.just_this
'Some value'
>>> foo.something_else
'something_else \xe7\x9a\x84\xe5\x80\xbc'
>>> print foo.something_else
something_else 的值
>>>

这个方法可以简单解释为:如果类(Foo)的实例(foo)调用一个方法 (something_else),但是这个方法在类中没有定义,而类中定义了__getattr__方 法,那么就把这个方法名字(something_else)传递给__getattr__方法作为参数,并 调用它。