2017-11-11 93 views
-1

我对python 3(以及一般编程)非常陌生,而且我在理解为什么会发生这种情况时遇到了一些问题。函数需要2个参数,但有3个参数?

class calculator: 

    def addition(x, y): 
     added = x + y 
     print(added) 

    def subtraction(x, y): 
     sub = x - y 
     print(sub) 

    def multiplication(x, y): 
     mult = x * y 
     print(mult) 

    def division(x, y): 
     div = x/y 
     print(div) 

calc = calculator() 

calc.multiplication(3,5) 

,我发现了问题,这个问题:

Traceback (most recent call last): 
File "/Users/JordanM/Desktop/PythonFiles/Calculator.py", line 20, in <module> 
calc.multiplication(3,5) 

TypeError: multiplication() takes exactly 2 arguments (3 given) 

谁能给一些见解,为什么这是怎么回事?有没有更好的方法来做到这一点?

+0

您需要添加自我所有功能 – Vidya

+1

或每个方法上面的装饰'@ staticmethod' – PRMoureu

+0

的主要问题是:为什么这是一个类? – Matthias

回答

0

您需要将self添加到实例所使用的所有函数中。它在javascript中就像这样。它指向当前的实例。

def addition(self,x, y): 
     added = x + y 
     print(added) 
+0

非常感谢! –

相关问题