Я определил функцию, которая принимает 2 аргумента. Когда я вызываю функцию, я получаю сообщение об ошибке сказав не хватает аргумент:Ошибка при вызове функции Python
>>> def fib(self, a,b):
... self.i=a, self.j=b
... print self.i+self.j
...
>>> fib(4,8)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: fib() takes exactly 3 arguments (2 given)
>>> fib(4,8,9)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in fib
AttributeError: 'int' object has no attribute 'i'
Я прошел с обоими 2 и 3 аргументов. Какой должен быть третий аргумент?
Он принимает ** 3 ** аргументы. – vaultah
похоже, что вы определили метод класса, но я не вижу объект класса, на который вы вызываете 'fib'? – EdChum
@EdChum s/class method/method/- в Python «classmethod» - это метод, который воспринимает класс (а не экземпляр) как первый аргумент. –