【发布时间】:2021-06-15 16:28:30
【问题描述】:
这里我写了一个函数,它接受两个列表作为参数。但是当我通过一个列表作为参数调用这个函数时,它运行良好!为什么这行得通?这里 name_function 有两个参数,但我只传递了一个列表作为参数。
def name_function(names=list(),_list=list()):
for name in names:
_list.append(name)
return _list
print(name_function(['mike','smith','bob']))
【问题讨论】:
-
如果你只传递一个列表,那么第二个列表会自动设置为一个空列表:
_list=list()。 -
因为你有默认参数。
-
names=list()表示您正在创建空列表并将其作为默认值传递给 name 参数。 _list 也是如此。 -
@L3viathan 我认为 OP 是在问为什么默认参数首先起作用。但是对于可变的默认值,我相信这个问题很快就会相关。 ;)
标签: python-3.x list function