首页 > 解决方案 > 为什么默认参数会改变?

问题描述

为什么在这种情况下默认参数会更改,即使我尝试更改它也不应该总是相同

def myfunc(x,y,z="bye"):
    print("hey :" ,x)
    print("hey :" ,y)
    print("hey :" ,z)
myfunc("meet","bye","yo")

默认参数更改

标签: python-3.xfunction

解决方案


如果您在调用函数时明确指定其值,则默认参数将被覆盖。仅当您调用函数而不传递保存默认值的变量时,它才适用。

看看这个例子:

>>> def myfunc(x,y,z="bye"):
...     print("hey :" ,x)
...     print("hey :" ,y)
...     print("hey :" ,z)
...
>>> myfunc("meet","bye","yo")
hey : meet
hey : bye
hey : yo
>>> myfunc("meet","bye")
hey : meet
hey : bye
hey : bye

推荐阅读