Я пишу программу на Python 3, которая создает объекты из класса, и из этих объектов я могу выполнить некоторые вычисления. Однако, когда я создаю экземпляр своего объекта и пытаюсь запустить его методы, я получаю следующую ошибку: TypeError: method1() missing 1 required positional argument: 'index'
. Вот пример кода:
class Foo:
def __init__(self, var1, var2, var3):
"""var1 and var2 are lists"""
self.var1 = var1
self.var2 = var2
self.var3 = var3
def method1(self, index):
return self.var3 * (self.var1[index] + self.var2[index])
def run_calculation(self):
for i in range(1,10):
self.var1.append(Foo.method1(i))
self.var2.append(Foo.method1(i))
Когда я пытаюсь запустить этот код следующим образом:
a = Foo([1],[2],3)
a.run_calculation()
Я получаю ошибку, описанную выше. method1
всегда передается необходимый аргумент, когда он вызывается во время run_calculation
, поэтому я не вижу проблемы. Заранее спасибо!