Python中函数默认值问题
来源:互联网 发布:开淘宝店铺要多少钱 编辑:程序博客网 时间:2024/06/13 09:12
如果使用的参数默认值是可变的(例如列表),则可能引发烦人的问题。当执行def时,默认参数值只能使用一次,在函数调用期间将保留此关联。这意味着参数名相关联的默认对象的变化,将在函数调用间保持一致。如下例子:
def func(element,listParam=[]) listParam.append(element) return listParam
调用:
>>>func(1)[1]>>>func(2)[1,2]>>>func(3)[1,2,3]>>>func(4,[7,8,9])[7,8,9,4]>>>func(5)[1,2,3,5]
第一次调用func函数时使用listParam的默认值,在列表中填加1,返回[1]。使用listParam的默认值进行第二次调用时,即function(2),2仍会连接到默认对象上。但在前面的调用中该对象修改过。如果该对象是可变的并且修改过,在所有的调用中都保留这些修改。当不使用默认值时,就会按照传入的参数值进行变化。所以一般不要使用可变的默认值。
阅读全文
1 0
- Python中函数默认值问题
- python函数参数默认值
- MySQL中默认值中用时间函数的问题
- C++函数的默认值问题
- MySQL 中,默认值时间函数
- Swift中函数的默认值
- [Python]在python中获取函数的参数名和参数名的默认值
- Python函数参数默认值的陷阱
- Python学习注意点-函数默认值
- python的函数 参数的默认值
- python函数之_默认值参数总结
- python坑:可变对象作为函数默认值
- [Python读书]cookbook --20.1 在函数调用中获得常新的默认值
- python sqlalchemy模块默认值插入问题
- 构造函数参数默认值的问题
- 求解函数声明的默认值问题?
- 一次函数默认值带来的问题
- js函数参数默认值的问题
- AndroidStudio Plugin with id 'android-apt' not found.
- Javascript原型链
- ajax上传图片到后台【formData】
- CentOS 7.x NAT模式静态IP上网配置
- mysql关于视图、子查询、事物
- Python中函数默认值问题
- 笔记
- 《明解C语言第3版.入门篇》练习代码 第11章
- 【unity3D】插件推荐
- 利用华硕Xtion Pro Live 在ROS-kinetic下跑rgbdslam_v2
- android画布局部矩形擦除
- Android 配置shareSDK出现错误
- 记录一些软件安装过程参考的博客
- Esp8266学习之旅⑤ 8266原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。(带Demo)