【发布时间】:2017-01-23 00:04:47
【问题描述】:
我有这个功能:
def sendMessage(s, message):
messageTemp = "PRIVMSG #" + CHANNEL + " :" + message
s.send((messageTemp + "\r\n").encode())
我可以使用此功能向 twitch 服务器中的聊天输出一条消息,但是当我想输出一条包含变量的消息时:
sendMessage(s, var1, "message1", var2, "message2")
我收到一个错误:TypeError: sendMessage() takes 2 positional arguments but 5 were given。
我知道在函数中,它受(s, message) 的限制,但我想知道这是否有任何问题?我将在整个程序中多次使用此函数,每次使用的变量数量都会有所不同,因此我无法为函数设置特定限制。
【问题讨论】:
-
你为什么不把
var1、"message1"、var2和"message2"连接成一个字符串并传递呢? -
你能解释一下吗?一般来说,我是 python/编码的新手。如果我尝试像这样运行它:sendMessage(s, "var1 message1 var2 message2),它不会将 var1 和 var2 视为变量。
-
简而言之:您向定义的函数发送了错误数量的参数。请看教程。
标签: python function variables parameters