
3条回答 默认 最新
python xxxyyyxxxyyy 2022-01-29 20:11关注https://docs.python.org/zh-cn/3.8/tutorial/controlflow.html#default-argument-values

列表是可变对象,这默认值只会初始化一次。第一次调用时列表为空,然后你给他放入了1,第二次调用时这个列表就是[1]了,再放入一个,它就变成[1, 1]。由于两个ls指的都是同一个内存地址,所以两次调用返回的ls指向的都是这个列表,你用append方法给这个列表添加值,并没有重新指向新的内存地址(使用ls=ls+[1]的话会改变,这样两个ls指的就是不同的实例了),所以你打印两次都是同一个列表,即[1, 1]
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用