【发布时间】:2020-10-24 19:09:34
【问题描述】:
Python 有一个方法 __init__subclass 使用它我可以将参数作为类变量传递
但是当我将__init__subclass 与元类一起使用时,类定义中的参数无法传递给__init__subclass。
blew 是我的代码,谁能弄清楚在使用元类时如何将参数传递给__init__subclass?
class person(type):
def __new__(cls, name, base, namespace, *args, **kwargs):
return type.__new__(cls, name, base, namespace)
@classmethod
def __prepare__(name, bases, *args, **kwargs):
dict1 = {}
dict1['a'] = 1
return dict1
class teacher(metaclass=person):
def __init_subclass__(cls, default_name, **kwargs):
super().__init_subclass__(**kwargs)
print('begin initilize subclass')
print(kwargs)
cls.default_name = default_name
class teacherwdname(teacher, default_name='kevin'):
teach = 'physics'
c = teacherwdname()
【问题讨论】: