函数有两个参数,但是给出了3个参数?

时间:2017-11-11 17:23:32

标签: python python-3.x

我对python 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)

任何人都可以了解为何会发生这种情况吗?有没有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

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

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