创建动态 class 时如何将 kwargs 传递给 __init_subclass__
How to pass kwargs to __init_subclass__ when creating dynamic class
在使用 type()
创建动态 class 时,如何将值传递给 __init__subclass__()
中的 kwargs
参数
class Base():
def __init_subclass__(cls, **kwargs):
print (kwargs)
class Derived(Base, arg1='test_val'):
pass
op: {'arg1': 'test_val'}
如何使用 type()
执行此操作?
type('newtype', (Base,), {})
您需要使用 types.new_class 而不是 type
。例如
from types import new_class
new_class('newtype', (Base,), {'arg1': 'test_val'})
在使用 type()
__init__subclass__()
中的 kwargs
参数
class Base():
def __init_subclass__(cls, **kwargs):
print (kwargs)
class Derived(Base, arg1='test_val'):
pass
op: {'arg1': 'test_val'}
如何使用 type()
执行此操作?
type('newtype', (Base,), {})
您需要使用 types.new_class 而不是 type
。例如
from types import new_class
new_class('newtype', (Base,), {'arg1': 'test_val'})