擅长:python、mysql、java
<p>不可能。上三节课很容易。把结果分配给3个变量?这违反了Python的范围规则。你知道吗</p>
<pre><code>@mc_me
class Test:
name = "Test"
</code></pre>
<p>相当于</p>
<pre><code>class Test:
name = "Test"
Test = mc_me(Test)
</code></pre>
<p>对于decorator来说,没有办法说它想创建更多的变量并分配给这些变量。即使您设法使它工作(可能只在具有<code>inspect</code>疯狂性的模块或类范围内),Python也无法知道对<code>TestSuper</code>或<code>TestExtra</code>的引用应该引用在编译字节码时由装饰器创建的变量。你知道吗</p>