*打印功能调用中的标记

时间:2016-05-12 06:09:27

标签: python python-3.x

此打印功能调用中的这个星号是什么?

for i in range(int(input())):   
    s=input()  
    print(*["".join(s[::2]),"".join(s[1::2])])  

1 个答案:

答案 0 :(得分:0)

它被称为参数解包。如果你要省略它,那么它只会将列表推导创建的列表作为一个参数提供给print函数。使用星号,它将该列表中的每个项目作为单独的参数传递。 考虑这个例子:

def my_func(arg1, arg2, arg3):
    print('yay it worked')

然后用:

调用它
my_func(*[1, 2, 3])

那样arg1为1,arg2为2,arg3为3。 如果您将呼叫更改为:

my_func([1, 2, 3])

然后你将列表传递给arg1,它会引发一个TypeError,因为它缺少两个位置参数。