Python陷阱:为什么不能用可变对象作为函数的默认参数值

接着这个话题继续聊一聊关于赋值的一些坑。 先来看一道题目:   我们似乎发现了一个Bug,每次用相同的方式调用函数 func() 时,返回结果竟然不一样,而且每次返回的列表在不断地变长。   从上面可以看出,函数的返回值其实是同一个列表对象,因为他们的id值是一样的,只不过是列表中的元素在变化。为什么会这样呢? 这要从函数的特性说起,在 Python 中,函数是第一类对象(function is
相关文章
相关标签/搜索