我有一个带有Object baseObj的模块(myMod.py)和一些方法
class baseObj(object):
....
def doThing(self):
......
我需要创建许多子类,正常的方法是:
class Foo(baseObl):
pass
class Bar(baseObl):
pass
等
但是有很多这些。
我在列表中有这些子类的名称
subNames = ['Foo','Bar','Lorem',...]
我可以动态创建子类(与上面相同)
Foo = type('Foo', (baseObj), {})
我想做的是:
for name in subNames:
name = type(name, (baseObj), {})
使用列表中的名称创建一堆子类。
显然,这种剂量不起作用。
我在网上找到的是做这样的事情:
registry =[]
for name in subNames:
registry[name] = type(name, (baseObj), {})
如果我正在寻找的API,那将不会给我。
最后我想要允许的是:
from myMod import Foo, Bar
a = Foo()
a.doThing()
b = Bar()
b.doThing()
etc.
有一种漂亮的方法吗?