splat运算符在Python中用空列表做什么?

时间:2017-03-05 23:55:26

标签: python

我正在构建一个简单的控制台用户,要求用户输入并获得输出。参数存储在args:

$ ls -optional_arg
args = ['ls', '-optional_arg']

当一些命令作为唯一参数给出时,我必须处理输入。

$ ls
args = ['ls']

在没有参数的函数中使用时使用splat运算符('*')切出范围工作正常,但我没有找到任何解释。

func_without_param(*args[1:])

dirname
things.zip

当我们使用splat解压缩空列表时,有人能解释一下幕后会发生什么吗?

1 个答案:

答案 0 :(得分:0)

如果args == ['ls']args[1:] == []func_without_param(*[])相当于func_without_param()