我正在制作一个socket客户机,需要定义一个向服务器发送以下类型消息的函数:sometext,[name_1],[name_2],...,[name_n]
。实际上这个消息更复杂,但为了举例说明,我简化了它。在
其中:
...
-表示姓名2和姓氏之间的其余姓名(以逗号分隔)我知道有*args
和{
def send_names(*args):
print('sometext,{*args},'.format(*args)) # as an example we just print
我知道这段代码行不通,因为{*args}
在这里是非法的。
当我事先知道*args
的数量时,代码就可以工作了,比如这里:
我错过了什么?在
我认为您应该避免使用
.format
,而只需要使用', '.join
参数。您没有提到任何需要.format
问题中的字符串的具体原因。就像@Selcuk的解决方案您可以加入
*args
来完成您想要的:结果:
^{pr2}$您不能使用
*args
或**kwargs
应用于可变数量的插槽,不。您必须根据长度自行创建插槽:然后可以根据需要将结果插值到另一个模板中。上面的方法适用于格式化槽通常接受的任何类型的参数。在
演示:
^{pr2}$相关问题 更多 >
编程相关推荐