曾哥870 发表于 2021-3-24 17:57:51

这里的new直接等于old,按照贴标签,不是应该随着old变化而变化吗?为啥结果没变呢?

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

代码小白liu 发表于 2021-3-24 17:57:52

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

>>> print(old)

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

>>> print(old)

kogawananari 发表于 2021-3-24 18:12:02

old =
改成
old[:] =

曾哥870 发表于 2021-3-24 18:25:59

kogawananari 发表于 2021-3-24 18:12
old =
改成
old[:] =

拷贝不是不会变吗,直接等于会变,这个为啥不一样呢

kogawananari 发表于 2021-3-24 20:06:08

曾哥870 发表于 2021-3-24 18:25
拷贝不是不会变吗,直接等于会变,这个为啥不一样呢

old = 是容器变了

old[:] = 是成员变了


曾哥870 发表于 2021-3-25 10:07:57

代码小白liu 发表于 2021-3-24 22:15
>>> old =
>>> new = old
>>> old =


两个赋值位置的交换对结果也是有影响的是吧!

代码小白liu 发表于 2021-3-25 15:02:29

曾哥870 发表于 2021-3-25 10:07
两个赋值位置的交换对结果也是有影响的是吧!

先后运行顺序不一样啊,好比之前给小狗取名叫旺财,又改名叫狗剩,那你现在再叫他的名字 那肯定是狗剩啊

曾哥870 发表于 2021-3-25 15:41:07

代码小白liu 发表于 2021-3-25 15:02
先后运行顺序不一样啊,好比之前给小狗取名叫旺财,又改名叫狗剩,那你现在再叫他的名字 那肯定是狗剩啊

我就是想着小甲鱼说的贴标签,不管怎么变他们俩都一样了,给我整的乱了

代码小白liu 发表于 2021-3-25 15:55:14

曾哥870 发表于 2021-3-25 15:41
我就是想着小甲鱼说的贴标签,不管怎么变他们俩都一样了,给我整的乱了

那个不是那个意思,可以再看一遍视频
页: [1]
查看完整版本: 这里的new直接等于old,按照贴标签,不是应该随着old变化而变化吗?为啥结果没变呢?