阿根廷方便面 发表于 2020-2-23 10:42:32

提问,有道题不懂

>>> old =
>>> new = old
>>> old =
>>> print(new)




小甲鱼的教程里面讲到一个类似指针的概念,为什么这里new没有变成6

jackz007 发表于 2020-2-23 10:46:17

>>> old = # old 指向列表
>>> new = old          # new 与 old 一起指向列表
>>> old =           # old 指向新的列表 ,从而与 new 分道扬镳;
>>> print(new)         # new 依然指向列表

冬雪雪冬 发表于 2020-2-23 10:46:38

>>> old =    #old指向 的地址
>>> new = old#new指向 的地址
>>> old = #old改为指向 的地址
>>> print(new)#new的指向并没有改变

一个账号 发表于 2020-2-23 11:05:21

因为 old 重新指向了一个列表,new 和 old 就没有关系了

°蓝鲤歌蓝 发表于 2020-2-23 12:05:18

在原来的列表上进行 append()、extends() 操作才是改变同一地址的列表的值,
old =
print(id(old))
old.append(4)
print(id(old))
虽然列表的值改变了,但是它的地址没有变,所以才说列表是可变类型。

old =
print(id(old))
new = old
print(id(new))
new =
print(id(new))

这种虽然 old 与 new 的值一样,但是 new 已经是重新分配过地址的了,只是 old 和 new 两个地址指向的值是一样的而已。
页: [1]
查看完整版本: 提问,有道题不懂