Python 'takes exactly 1 argument (2 given)' Python error

2017/2/13 17:14:38

Category 软件技术 Tag python,类,参数

定义class的函数之后,在调用的时候出现“'takes exactly 1 argument (2 given)' Python error”。

查询Interesting 'takes exactly 1 argument (2 given)' Python error 之后,原来在python中,在使用instance调用其class的方法的时候,是相当与在调用中加入本身作为第一个参数的。如下:

a.method(k)

就相当与:

a.method(a, k)

所以,在对函数进行定义的时候,需要在函数内部参数中第一个定义为self,如:

class Person():

    def method(self, k):

        ...


如果想作为静态函数调用,可以在定义函数上方加上“@staticmethod”来进行标识。