鱼C论坛

 找回密码
 立即注册
查看: 1043|回复: 5

[已解决]变量和字符串作业疑惑~

[复制链接]
发表于 2019-8-8 03:09:25 | 显示全部楼层 |阅读模式

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

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

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

我理解的是
把‘小甲鱼’赋值给了myteacher                         现在print myteacher的话 会出来 小甲鱼
又把 myteacher的值赋给了yourteacher          现在print yourteacher的话 会出来 小甲鱼       
再把 myteacher的值改成 ‘黑夜’                         现在yourteacher的值就是myteacher的值?

所以print(yourteacher)就等于print(myteacher) 所以应该出来  黑夜

那么我的理解是从哪里开始错了?
从加粗开始?
那么正确的理解是 myteacher只赋值给yourteacher一次?不是永久跟随的?
最佳答案
2019-8-8 06:59:26
ao.png
id() 返回对象的内存地址,后来的myt把原来的myt覆盖了,也不和yourt指向同一个内存地址,他俩就没什么关系了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-8 06:59:26 | 显示全部楼层    本楼为最佳答案   
ao.png
id() 返回对象的内存地址,后来的myt把原来的myt覆盖了,也不和yourt指向同一个内存地址,他俩就没什么关系了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 07:45:28 | 显示全部楼层
把后面的理解成实际的物体,前面理解成便签。

1、把myteacher便签贴在 小甲鱼 这个物体上。

2、把yourteacher便签贴在 myteacher这个便签上。(相当于把yourteacher也贴在了物体 小甲鱼  上)。

3、把myteacher从 小甲鱼 上拿下来, 贴在 黑夜  这个物体上。

4、yourteacher 还是贴在 小甲鱼 上。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-8 07:47:30 | 显示全部楼层
yourteacher 和 myteacher 没有关系,因为他们不指向同一个内存地址。赋值只是单纯的,并不是永久跟随的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 07:57:58 | 显示全部楼层
是这样:
把 小甲鱼赋值给了myteacher
myteacher赋值给了yourteacher
又把黑夜赋值给了myteacher
才执行小甲鱼的
一句话:python是从上往下执行的所以黑夜没被执行,如果改变你的运算就是执行黑夜了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 10:04:06 | 显示全部楼层
本帖最后由 fallout.nj 于 2019-8-8 10:06 编辑

同时指向同一内存地址。这涉及到不可变量,你甚至会发现a = 10和b = 2*5 ,a和b指向的内存地址是同一个地址,再扩展出来就是函数内global的使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 11:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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