据我所知,Python 解释器一开始就为 int 对象创建从 0 到 256 的引用。在这里,我得到了我理解的列表的输出3, [44,2,3],但是为什么 int 对象没有发生同样的事情呢?我预计输出是1, [44,2,3]。谁能向我解释这种行为?我使用 Python 3。
def change(var, lst):
var = 1
lst[0] = 44
k = 3
a = [1, 2, 3]
change(k, a)
print(k)
print(a)
输出:
3
[44,2,3]
预期输出:
1
[44,2,3]