关于python:typeerror:method()只接受2个参数(给定3个)

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

本问题已经有最佳答案,请猛点这里访问。

这里有一个代码:

1
2
3
4
5
6
7
8
9
10
class Child(object):
    def chunks(l, n):
       """ Yield successive n-sized chunks from l.
       """

        for i in xrange(0, len(l), n):
            yield l[i:i+n]

k= range(1, 10)
print k
print Child().chunks(k,2)

当我执行此代码时,python抛出以下错误:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Traceback (most recent call last):

File
"/home/Sample.py", line 19, in

print Child().chunks(k,2)

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

请找到我的代码片段!


实例方法:在类内定义的方法,只属于类的当前实例。

chunks方法定义为类中的实例方法。

E.D

1
2
3
4
5
class Child(object):
    def chunks(self, l, n):
        #      ^^^  
        pass
        # do coding

静态法:

1
2
3
4
5
class Child(object):
    @staticmethod
    def chunks(l, n):
        pass
        # do coding