Привет, у меня есть следующий код, который пытается создать экземпляр класса и присвоить ему значения аргументов. Я пытаюсь использовать *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?