2017-11-11 102 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

非常感謝! –

相關問題