Python默认参数是[]
来源:互联网 发布:网络教育2.5年毕业 编辑:程序博客网 时间:2024/06/06 02:42
很多初学者很疑惑,默认参数是[]
,但是函数似乎每次都“记住了”上次添加了'END'
后的list。
原因解释如下:
Python函数在定义的时候,默认参数L
的值就被计算出来了,即[]
,因为默认参数L
也是一个变量,它指向对象[]
,每次调用该函数,如果改变了L
的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]
了。
所以,定义默认参数要牢记一点:默认参数必须指向不变对象!
要修改上面的例子,我们可以用None
这个不变对象来实现:
def add_end(L=None): if L is None: L = [] L.append('END') return L
阅读全文
0 0
- Python默认参数是[]
- Python 默认参数值
- 默认参数python
- python 默认参数问题
- 3.9 Python默认参数
- python中的int(x,y)是两个参数,第二个参数不写,默认是10进制
- Python split()函数默认参数
- Python中的默认参数值
- Python中的默认参数值
- Python split()函数默认参数
- Python函数默认参数值
- Python进阶-函数默认参数
- Python函数的默认参数
- python默认参数的坑
- Python定义函数默认参数
- python中的默认参数self
- python 函数默认参数值、关键参数
- python中位置参数、关键字参数和默认参数
- 51Nod1005 大数加法(C语言)
- Java 修改jdk不起作用
- android 字体颜色随机
- hdu5922Minimum’s Revenge
- opencv 图像的载入显示和输出
- Python默认参数是[]
- 1
- [编程题] 字符编码
- Python:关于OS的介绍
- HDOJ2577 DP简单入门题
- I
- 乱码处理
- 【Android】封装BroadcastReceiver
- NIO-文件读取及按行读取示例