擅长:python、mysql、java
<p>装饰器从上到下堆叠。代码类似</p>
<pre><code>@check1
@check2
class ClassObj(object):
...
</code></pre>
<p>相当于</p>
<pre><code>class ClassObj(object):
...
ClassObj = check1(check2(ClassObj))
</code></pre>
<p>也就是说,用<code>check1</code>装饰<code>ClassObj</code>,然后用<code>check2</code>装饰结果</p>
<p>但是,您遇到的问题是,两个装饰器实际上都不返回类。它们都使用给定类的<em>实例</em>调用<code>getattr</code>(不正确)</p>