Python 由两个位置参数组成的列表?

Python 由两个位置参数组成的列表?,python,python-3.x,Python,Python 3.x,我试图在类方法中使用列表作为参数,但它说我在一个上给出了两个参数。我已经制作了我的代码原型,并且得到了相同的错误,因此更容易掌握: lol = ["lol1", "lol2", "lol3"] class HasList: def __init__(self): self.li = [] def setList(li): self.li = li lolo = HasList() lolo.setList(lol) 我得到的错误是:

我试图在类方法中使用列表作为参数,但它说我在一个上给出了两个参数。我已经制作了我的代码原型,并且得到了相同的错误,因此更容易掌握:

lol = ["lol1", "lol2", "lol3"]

class HasList:

    def __init__(self):
        self.li = []

    def setList(li):
        self.li = li


lolo = HasList()

lolo.setList(lol)
我得到的错误是:
TypeError:setList()只接受1个位置参数(给定2个)

类中方法的第一个参数始终是
self

def setList(self, li):

您忘记将self作为参数传递

def setList(self, li):
    self.li = li

当您调用
lolo.setList(lol)
时,Python实际上是调用
setList(lolo,lol)

但是
setList
在代码中只有一个参数
li
,因此引发了异常:

def setList(li):
        self.li = li
只需添加
self
作为
setList
的第一个参数,即:

def setList(self,li):
        self.li = li