Can';t将python列表项传递给函数
嗨,我正在做一个python程序。我能够从类的函数中检索数据,但不能向它们发送数据Can';t将python列表项传递给函数,python,list,function,typeerror,Python,List,Function,Typeerror,嗨,我正在做一个python程序。我能够从类的函数中检索数据,但不能向它们发送数据 class someClass: someList = [] def sendMessage(message): someList.append(message) messageSender = someClass() listToSend = [] #loaded elswhere someClass.sendMes
class someClass:
someList = []
def sendMessage(message):
someList.append(message)
messageSender = someClass()
listToSend = [] #loaded elswhere
someClass.sendMessage(listToSend[1])
当我继续运行它时,会出现以下错误:
TypeError: sendMessage() takes exactly 1 argument (2 given)
如果我只使用
someClass.someList=listToSend
,它可以工作,但这是一个较大程序的单元测试,所以我确实需要让sendMessage工作。你知道怎么回事吗?在所有类方法中,你应该在方法的第一个参数self
后面加上其他参数:
class someClass:
someList = []
def sendMessage(self, message):
someList.append(message)
messageSender = someClass()
listToSend = [] #loaded elswhere
someClass.sendMessage(listToSend[1])
在所有类方法中,您应该在方法的第一个参数
self
后面加上其他参数:
class someClass:
someList = []
def sendMessage(self, message):
someList.append(message)
messageSender = someClass()
listToSend = [] #loaded elswhere
someClass.sendMessage(listToSend[1])
您忘记了sendMessage函数声明中的self参数。
sendMessage(message)
应改为sendMessage(self,message)
类someClass:
someList=[]
def发送消息(自我,消息):
someList.append(消息)
为什么它告诉我我传入了两个参数?
无论何时调用类的方法,例如:
dog.bark()
您正在将self(dog变量)传递到
方法,因此内部调用是dog.bark(self)
规则是:方法调用中的可见参数+1=方法声明中的可见参数您忘记了sendMessage函数声明中的self参数。
sendMessage(message)
应改为sendMessage(self,message)
类someClass:
someList=[]
def发送消息(自我,消息):
someList.append(消息)
为什么它告诉我我传入了两个参数?
无论何时调用类的方法,例如:
dog.bark()
您正在将self(dog变量)传递到
方法,因此内部调用是dog.bark(self)
规则是:方法调用中的可见参数+1=方法声明中的可见参数它甚至不能访问单独的类,但会锁定函数调用。我用那个文档使它甚至不能访问单独的类,而是锁定函数调用。我用那个医生做的