我使用type()
动态地定义了几个类,并将它们放在一个列表中。但是,我想让这些类在模块中可用。例如,如果我的模块是factories.py
,而我创建的动态类是PersonFactory
,那么我可以调用from factories import PersonFactory
这是factories.py
中代码的一部分:
factories = []
for name, obj in models:
factory_name = name + 'Factory' # e.g. PersonFactory
attrs = assemble_factory_attrs(obj, factory_name)
f = type(factory_name, (object,), attrs)
factories.append(f)
# I wanted to "release" the classes into the module definition through `*factories`
# but I get this syntax error: "SyntaxError: can use starred expression only as assignment target"
*factories
谢谢你
您可以将它们添加到模块
globals()
它将如下所示:现在它们都在模块(全局)范围内,并且在列表
factories
中相关问题 更多 >
编程相关推荐