
这个是真的不懂啊,查了很多都没有过程解答,有人详细解答一下吗,真诚感谢
调用a = func()时没有加参数,使用默认值,但函数的默认值只会初始化1次;调用b = func()时ls使用上一次的list
可以用id()函数查看地址
可以用一个更直观的例子来说明
def func(ls=[]):
# 函数的默认值只会初始化1次
print(id(ls))
ls.append(1)
return ls
if __name__ == '__main__':
a = func()
b = func()
c = func([3])
d = func()
print(a, b, c, d)
