python--可变对象作为默认参数
2017-09-09 09:24
253 查看
def extendList(val , list = []):
list.append(val)
return list
这个默认参数 list = [] 只要不重新赋值,list指向的地址永远不变,切记切记!
def extendList(val , list = []):
list.append(val)
return list
list1 = extendList(100)
list2 = extendList(40,list = [])
list3 = extendList(200)
list4 = extendList(50,list = [])
print(list1)
print(list2)
print(list3)
print(list4)输出结果:
[100, 200]
[40]
[100, 200]
[50]
list.append(val)
return list
这个默认参数 list = [] 只要不重新赋值,list指向的地址永远不变,切记切记!
def extendList(val , list = []):
list.append(val)
return list
list1 = extendList(100)
list2 = extendList(40,list = [])
list3 = extendList(200)
list4 = extendList(50,list = [])
print(list1)
print(list2)
print(list3)
print(list4)输出结果:
[100, 200]
[40]
[100, 200]
[50]
相关文章推荐
- 理解python中可变对象作为默认参数
- 理解python中可变对象作为默认参数
- Python陷阱:为什么不能用可变对象作为默认参数的值
- Python陷阱:为什么不能用可变对象作为函数的默认参数值
- Python陷阱:为什么不能用可变对象作为函数的默认参数值
- python坑:可变对象作为函数默认值
- python的raw_input()函数。 函数的可变对象和不可变对象作为参数传递。
- Python基础:Python可变对象和不可变对象
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- python--函数(必选参数、默认参数、可变参数、关键字参数)
- 【Python学习】函数参数:必选参数、默认参数、可变参数、关键字参数、参数组合
- [转载]python中将普通对象作为 字典类(dict) 使用
- python函数是引用传递(对可变对象而言)
- python函数的参数(默认参数、可变参数、关键字参数和参数组合)
- Python基础:Python可变对象和不可变对象
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- Python中的函数参数格式 (可变参数 与 默认参数)
- python可变对象与不可变对象
- python中将普通对象作为 字典类(dict) 使用
- python中对dict或list等可变对象进行append操作