擅长:python、mysql、java
<p>可以使用Python3.6中添加到<code>object()</code>的新类方法:<a href="https://www.python.org/dev/peps/pep-0487/" rel="nofollow noreferrer">^{<cd2>}</a></p>
<p>当类是子类时调用此方法,并允许您在不使用元类的情况下自定义子类的创建。在</p>
<p>您的示例如下所示:</p>
<pre><code>class Base:
def __init_subclass__(cls, **kwargs):
super().__init_subclass__()
for key, value in kwargs.items():
setattr(cls, key, value)
def __init__(self, *args, **kwargs):
super().__init__()
for key, value in kwargs.items():
setattr(self, key, value)
class Parent(Base, p_var_1='my_name', p_var_2=2):
pass
class Gen1(Parent, G1_var_1='Generation 1', G1_var_2=[]):
pass
class Gen2(Gen1, G2_var_1=1337, G2_var_2=(10,4)):
pass
</code></pre>