こんにちは、クラスのインスタンスを作成し、それに引数値を割り当てようとする次のコードがあります。次のように *args を使用してこれを実行しようとしています:
def main():
testdata = ['FDR', False, 4, 1933]
apresident = President(testdata)
print apresident
print apresident.alive
class President:
id_iter = itertools.count(1)
#def __init__(self, president, alive, terms, firstelected):
def __init__(self, *args):
self.id = self.id_iter.next()
self.president = args[0]
self.alive = args[1]
self.terms = args[2]
self.firstelected = args[3]
「タプル インデックスが範囲外です」というエラーが表示されます。コメント行からわかるように、以前はこれを実現するために位置引数を使用していましたが (これは機能しました)、次のような行を使用して実行していました。
self.president = president
この場合、*args を使用する正しい方法は何ですか? *kwargs を使用する必要がありますか?