【发布时间】:2021-09-29 22:09:41
【问题描述】:
我想在启动时使用type() 函数动态创建子类。一切都按预期工作。
我知道这不是很好,但我受制于一个框架并且必须这样做。另一种选择是生成源代码...
功能等同于我的代码:
class BaseEntity:
id: str
def make_new_entity(name: str, attrs: dict) -> type:
return type('RuntimeEntity', (BaseEntity,), attrs)
RuntimeEntity: ??? = make_new_entity('RuntimeEntity', {'id': 'entity.RuntimeEntity'})
有没有办法为返回的类型提供绑定?基本上相当于
E = TypeVar('E', bound='BaseEntity')
我还查看了types 模块。
感谢您的帮助!
【问题讨论】:
标签: python dynamic types typing