在此示例中,star运算符对输入参数列表做了什么?
def main(name, data_dir='.'): print 'name', type(name) if __name__ == '__main__': main(*sys.argv)
具体来说,如果我使用star运算符运行该程序,它将打印:
name <type 'str'>
如果没有星星运行main(sys.argv)它将打印:
main(sys.argv)
name <type 'list'>
该*运营商解压缩参数列表。它允许您以列表项作为单独的参数来调用函数。
*
例如,如果sys.argvis ["./foo", "bar", "quux"],main(*sys.argv)则等效于main("./foo", "bar", "quux")。
sys.argv
["./foo", "bar", "quux"]
main(*sys.argv)
main("./foo", "bar", "quux")