鱼C论坛

 找回密码
 立即注册
查看: 2091|回复: 3

[已解决]零基础学习python

[复制链接]
发表于 2020-10-13 21:06:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
零基础学习python

003课后作业测试题第2题:

在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>> myteacher = '小甲鱼'
>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)

我的答案是黑夜,正确答案是小甲鱼。
我不明白的是:
第二行中,将myteacher赋值给yourteacher,也就是说此时yourteacher的值为小甲鱼。
第三行中,将黑夜赋值给myteacher,那么myteacher的值为黑夜。而 yourteacher = myteacher,那么yourteacher的值也应该是黑夜才对。
为什么答案是小甲鱼呢?
最佳答案
2020-10-13 22:13:35
本帖最后由 s4584147 于 2020-10-13 22:15 编辑

>>> myteacher ="小甲鱼"
>>> yourteacher = myteacher
>>> myteacher ="黑夜"
>>> print(yourteacher)
小甲鱼
>>> print(myteacher)
黑夜
>>>
PY是根据你最后一次赋值来看的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-13 21:12:23 | 显示全部楼层
两个变量名相当于两个“盒子”
第二行yourteacher = myteacher执行后,两个变量都是小甲鱼
在这之后,修改任意一个都是互不影响的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-13 21:18:01 | 显示全部楼层
CPython 中 id() 函数用于获取对象的内存地址
>>> myteacher = '小甲鱼'
>>> id(myteacher)
2535032847600
>>> yourteacher = myteacher
>>> id(yourteacher)
2535032847600
>>> myteacher = '黑夜'
>>> id(yourteacher)
2535032847600
>>> id(myteacher)
2535032848080
地址变了 不一样了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-13 22:13:35 | 显示全部楼层    本楼为最佳答案   
本帖最后由 s4584147 于 2020-10-13 22:15 编辑

>>> myteacher ="小甲鱼"
>>> yourteacher = myteacher
>>> myteacher ="黑夜"
>>> print(yourteacher)
小甲鱼
>>> print(myteacher)
黑夜
>>>
PY是根据你最后一次赋值来看的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 23:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表