py012345678o 发表于 2020-9-13 14:58:21

列表课后习题答疑

0. 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
>>> old =
>>> new = old
>>> old =
>>> print(new)
复制代码

会打印:

能帮忙分析下吗?
为什么new 没有跟着old变化?

昨非 发表于 2020-9-13 15:24:04

本帖最后由 昨非 于 2020-9-13 15:29 编辑

第一行->old指向
第二行->new指向old进而指向(不随old改变)
第三行->old改变指向
打印new(不变)

把变量名当成容器,很好理解的

zhongguozkh 发表于 2020-9-13 16:44:26

这是浅拷贝,会跟着变{:10_247:}

sunrise085 发表于 2020-9-13 16:54:50


python中变量名是标签,你将变量名重新赋值,意味着将这个标签从原来的地址上撕下来贴到新的地址上去了
可以看看我写的帖子
python细节之2、变量名与标签 变量的赋值与修改
页: [1]
查看完整版本: 列表课后习题答疑