用于列表时星型运算符的用途

Joe*_*oel 15 python

在此示例中,明星运算符对输入参数列表的作用是什么?

def main(name, data_dir='.'):
    print 'name', type(name)

if __name__ == '__main__':
    main(*sys.argv)
Run Code Online (Sandbox Code Playgroud)

具体来说,如果我使用星号运算符运行程序,它会打印:

name <type 'str'>
Run Code Online (Sandbox Code Playgroud)

如果在没有星形的情况下运行main(sys.argv)则打印

name <type 'list'>
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 34

*运营商解压缩参数列表.它允许您使用列表项作为单独的参数调用函数.

例如,if sys.argvis ["./foo", "bar", "quux"],main(*sys.argv)相当于main("./foo", "bar", "quux").