鱼C论坛

 找回密码
 立即注册
查看: 2524|回复: 4

[已解决]新手代码求助

[复制链接]
发表于 2022-7-24 16:39:18 | 显示全部楼层 |阅读模式

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

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

x
>>> myteacher = '小甲鱼'
>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)
谁能告诉我,为什么小甲鱼的答案是(小甲鱼)
我的理由:因为先前myteacher被赋值为‘小甲鱼’,后面yourteacher被myteacher赋值,变为'小甲鱼',又因为myteacher被赋值为‘黑夜’,yourteacher因为被myteacher赋值,所以不应该是’黑夜‘吗?
能否详细解答,并说服我的理由.
最佳答案
2022-7-24 16:57:05
本帖最后由 青出于蓝 于 2022-7-24 17:00 编辑

注意语句运行顺序

第2行 yourteacher = myteacher

将'小甲鱼'赋给yourteacher

myteacher在第3行改变,可是赋值语句在第2行

如果 2,3行调转,则是 '黑夜'

也就是说,赋值过程是一次性的,之后赋值的对象即使改变,被赋值的变量也不会受影响!


欢迎追问!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-24 16:57:05 | 显示全部楼层    本楼为最佳答案   
本帖最后由 青出于蓝 于 2022-7-24 17:00 编辑

注意语句运行顺序

第2行 yourteacher = myteacher

将'小甲鱼'赋给yourteacher

myteacher在第3行改变,可是赋值语句在第2行

如果 2,3行调转,则是 '黑夜'

也就是说,赋值过程是一次性的,之后赋值的对象即使改变,被赋值的变量也不会受影响!


欢迎追问!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2022-7-24 16:57:44 | 显示全部楼层
使用id函数可以看到变量的地址
那你可以看看下面的代码
  1. >>> myteacher = '小甲鱼'
  2. >>> id(myteacher)
  3. 5476040
  4. >>> yourteacher = myteacher
  5. >>> id(yourteacher)
  6. 5476040
  7. >>> myteacher = '黑夜'
  8. >>> id(myteacher)
  9. 5556416
  10. >>> id(yourteacher)
  11. 5476040
  12. >>>
复制代码

可以看到在yourteacher = myteacher之后,yourteacher的地址就跟myteacher的地址一样了,但在myteacher = '黑夜'之后,myteacher的地址就变成了另一个地址,而yourteacher的地址还是原来的地址,所以yourteacher = myteacher并不是将yourteacher和myteacher关联起来,他们仅仅只是指向了同一个地址,如果其中一个变量指向了另一个地址,另一个变量指向的还是原来的地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-7-24 17:00:09 | 显示全部楼层
青出于蓝 发表于 2022-7-24 16:57
注意语句运行顺序

第2行 yourteacher = myteacher

嗷,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-24 17:01:59 | 显示全部楼层
临时号 发表于 2022-7-24 16:57
使用id函数可以看到变量的地址
那你可以看看下面的代码

谢谢,虽然我不知道id函数是什么,大概意思我懂了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 12:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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