python基础问题。为什么下面的代码得到输出是这样。
代码:
def func(a=[]):
a.append(1)
print(a)
func()
func()
func()
Output:
[1]
[1, 1]
[1, 1, 1]
数组是全局对象?什么鬼哦,初学python,对它的语法逻辑还比较陌生,望前辈赐教。
python基础问题。为什么下面的代码得到输出是这样。 代码: def func(a=[]):
答案:2 悬赏:50
解决时间 2021-03-06 19:00
- 提问者网友:无悔疯狂
- 2021-03-06 10:37
最佳答案
- 二级知识专家网友:晨与橙与城
- 2021-03-06 11:20
这个就是python里面的坑了 函数的默认参数是一个list 当第一次执行的时候实例化了一个list 第二次执行还是用第一次执行的时候实例化的地址存储 所以三次执行的结果就是 [1, 1, 1] 想每次执行只输出[1] ,默认参数应该设置为None
全部回答
- 1楼网友:社会水太深
- 2021-03-06 12:35
搜一下:python基础问题。为什么下面的代码得到输出是这样。 代码: def func(a=[]):
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯