我正在制作一个套接字客户端,需要定义一个函数来向服务器发送以下类型的消息:sometext,[name_1],[name_2],...,[name_n] .实际上消息更复杂,但为了举例我简化了它。
地点:
...- 代表 name_2 和 last name_n 之间的其余姓名(以逗号分隔)- 每次可以有任意数量的名字
我知道有 *args 和 **kwargs,但是在这种情况下如何通过 str.format() 正确使用它们?我需要这样的东西:
def send_names(*args):
print('sometext,{*args},'.format(*args)) # as an example we just print
我知道这段代码不起作用,因为 {*args} 在这里是非法的。 当我事先知道 *args 的数量时,代码就可以工作,如下所示:
def send_names(*args):
print('sometext,{0},{1},{2}'.format(*args)) # as an example we just print
我错过了什么?
请您参考如下方法:
你可以加入*args来完成你想要的:
def send_names(*args):
print('sometext, {0}'.format(', '.join(args)))
send_names('message1', 'message2', 'message3')
结果:
sometext, message1, message2, message3
