У меня есть функция:Несколько функциональных параметров?
def sendMessage(s, message):
messageTemp = "PRIVMSG #" + CHANNEL + " :" + message
s.send((messageTemp + "\r\n").encode())
Я может выводить одно сообщение в чате, в сервере дергаться, используя эту функцию, но когда я хочу, чтобы вывести сообщение, которое имеет переменные в нем так:
sendMessage(s, var1, "message1", var2, "message2")
Я получаю ошибку: TypeError: sendMessage() takes 2 positional arguments but 5 were given
.
Я понимаю, что в функции он ограничен (s, message)
, но мне было интересно, если бы это было так? Я буду использовать эту функцию много раз во время своей программы, каждый раз, когда количество используемых переменных будет отличаться, поэтому я не могу установить конкретные ограничения для этой функции.
Почему вы не просто сцепить 'var1',' "message1" ',' var2' и '" message2 "' в одну строку и передать это? – blacksite
Не могли бы вы объяснить это немного? Я новичок в python/encoding в целом. Если я попытаюсь запустить его так: sendMessage (s, "var1 message1 var2 message2), он не обрабатывает переменные var1 и var2 как. – Tigel
Вкратце: вы отправляете неправильное количество аргументов функции, которую вы определили. – TigerhawkT3