python-3.x - 为什么默认参数会改变?
问题描述
为什么在这种情况下默认参数会更改,即使我尝试更改它也不应该总是相同
def myfunc(x,y,z="bye"):
print("hey :" ,x)
print("hey :" ,y)
print("hey :" ,z)
myfunc("meet","bye","yo")
默认参数更改
解决方案
如果您在调用函数时明确指定其值,则默认参数将被覆盖。仅当您调用函数而不传递保存默认值的变量时,它才适用。
看看这个例子:
>>> 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
推荐阅读
- javascript - Javascript Animate 匹配 CSS 动画
- java - QUICKSORT 不给排序数组
- python-3.x - 我的 while 循环中的布尔值如何影响循环?
- c - Visual Studio 2019 在第一次遇到时通过获取功能
- javascript - 如何在反应中将文件数据转换为二进制数据?
- java - 如何从 Java 集合中获得相同的输出顺序
- c - “如果遇到NUL,fgets不会停止”是什么意思
- reactjs - 使用单个子组件反应多步表单
- azure - 遵循教程:使用 Terraform 和 HCL 创建 Azure VM 集群时,为什么会出现“未设置必填字段”?
- javascript - 回调函数,如何从对象中增加数字然后添加到 sum 属性