new=old, old变化了,new为什么不跟着变化呢
>>> old=>>> new=old
>>> od=
>>> print(new) 我们可以这样理解存储方式:内存好比一座大楼,变量是门牌号
一开始 我们给这座大楼开了一间房间存储,门牌号叫old,然后再给他命名一个门牌号new
然后你再开一个房间存储,给它个门牌号old,由于old门牌号上面已经命名了,上面那存的房
间,old标签就被撕掉了,贴在那存的房间门上了,原来那间存的房间,还有个门牌号new。 {:10_256:}因为你的变量名错了呀 old才对
正经的{:10_256:} 直接给old 赋值一个新的列表 new是不会跟着变的
但是 你改变old的列表 new就跟着变了 比如 old = 3一下
{:10_279:}
这个网站可以可视化这个过程
http://pythontutor.com/ new=old
证明new的指针指向old,old指向了另一个值,而new还是指着原来old指着的值。 ButcherRabbit 发表于 2017-7-3 12:01
我们可以这样理解存储方式:内存好比一座大楼,变量是门牌号
一开始 我们给这座大楼开了一间房间存储
你说的很容易让人理解,非常感谢,让我对py的理解加深了! sky 发表于 2017-7-3 13:06
因为你的变量名错了呀 old才对
正经的 直接给old 赋值一个新的列表 new是不会跟着变 ...
感谢,看完似乎明白了。 # 头像太容易分散注意力!
页:
[1]