引数の数が異なる2つの異なるクラスがあるとします。
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(...)
では、上記のさまざまなクラスを動的にインスタンス化するときに、さまざまな量の引数を入力するにはどうすればよいですか?
私は正しい道の近くにいますか?