一个列表是两个位置参数?

2024-05-16 15:51:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在类方法中使用一个list作为参数,但是它说我给出了2个参数,而不是一个参数。我已经制作了一个代码原型,但也有同样的错误,因此更容易理解:

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个)


Tags: 方法代码self参数def错误li原型
3条回答

你忘了把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的第一个参数,这样就可以:

^{pr2}$

类中方法的第一个参数总是self。在

def setList(self, li):

相关问题 更多 >