擅长:python、mysql、java
<p>如果您不介意完全更改所需的语法<em>以获得所需的功能,那么可以使用<a href="https://docs.python.org/3/library/functions.html#type" rel="nofollow noreferrer">^{<cd1>}</a>动态构造类(请参见第二个签名)</p>
<p>第一个参数是类的名称,第二个参数是超类的元组,第三个参数是要添加的属性字典</p>
<pre class="lang-py prettyprint-override"><code>Duck = type("Duck", (), {
"quack", quack_function,
"walk", walk_function,
...
})
</code></pre>
<p>因此,与创建后注入适当功能的装饰器不同,您只需在创建时直接添加功能。这种方法的好处在于,您可以通过编程方式构建属性字典,而使用decorator则不行</p>