创建动态 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'})