假设我有两个不同的类,它们的参数数量不同:
class A(object):
def __init__(self, arg1, arg2, arg3)
...
class B (object):
def __init__(self, arg1, arg2)
....
考虑到参数的数量不同,有没有办法动态实例化这些类?
我会在这里给你更大的图景。我创建了一个 XML 解析器,它成功解析了 XML 文档中的所有信息,并将它们缓存到一个列表中,基于标签名称(<room>
将进入 self.room,<item>
将进入 self.item 等......)
我不知道这是否真的是做事的方式,但我想做的是从他们尊重的列表中的每个单独的 XML 元素中获取所有信息,从该信息创建 Python 对象,然后将它们存储到字典。
# From XMLParser class
def objectify(self, iterator):
dict = {}
# I used elementtree to parse XML documents, 2nd argument of getattr
# ends up being a capitalized string of iterator's tag name.
# Ex, <room> becomes 'Room'
Object = getattr(sys.modules[__name__], iterator.tag.capitalize())
for element in iterator:
dict[element.attrib['id']] = Object(...)
那么如何在动态实例化上面列出的不同类时输入不同数量的参数呢?
我是否在正确的轨道附近?