擅长:python、mysql、java
<p>如果在类的元类上定义<code>__setattr__()</code>,则在设置类的属性时将调用它,但仅在创建类之后:</p>
<pre><code>>>> class Meta(type):
... def __setattr__(cls, name, value):
... print "%s=%r" % (name, value)
...
>>> class A(object):
... __metaclass__ = Meta
...
>>> A.a = 1
a=1
</code></pre>
<p>但在类定义时它不起作用,所以它可能不是您想要的。在</p>
<p>在元类<code>__init__()</code>中获取类属性是可行的,但是您会失去定义的顺序(以及多个定义)。在</p>