【发布时间】:2015-11-12 23:00:23
【问题描述】:
为什么会这样:
>>> a = 1
>>> b = a
>>> a = 2
>>> print(a)
2
>>> print(b)
1
...但是:
>>> a = [3, 2, 1]
>>> b = a
>>> a.sort()
>>> print(b)
[1, 2, 3]
我的意思是,为什么真正复制了变量而只引用了迭代器?
【问题讨论】:
-
在我看来,这是学习 Python 最难的部分之一:学会区分获取现有对象并修改它和采用现有名称并使其指向不同的对象
-
@turbulencetoo:很简单。此处没有示例 copy 对象。对象可能有多个名称。名称可能在不同时间指代不同的对象。 This picture might provide an insight
标签: python variables reference