零基础学习python
零基础学习python003课后作业测试题第2题:
在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>> myteacher = '小甲鱼'
>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)
我的答案是黑夜,正确答案是小甲鱼。
我不明白的是:
第二行中,将myteacher赋值给yourteacher,也就是说此时yourteacher的值为小甲鱼。
第三行中,将黑夜赋值给myteacher,那么myteacher的值为黑夜。而 yourteacher = myteacher,那么yourteacher的值也应该是黑夜才对。
为什么答案是小甲鱼呢? 两个变量名相当于两个“盒子”
第二行yourteacher = myteacher执行后,两个变量都是小甲鱼
在这之后,修改任意一个都是互不影响的 CPython 中 id() 函数用于获取对象的内存地址
>>> myteacher = '小甲鱼'
>>> id(myteacher)
2535032847600
>>> yourteacher = myteacher
>>> id(yourteacher)
2535032847600
>>> myteacher = '黑夜'
>>> id(yourteacher)
2535032847600
>>> id(myteacher)
2535032848080
地址变了 不一样了 本帖最后由 s4584147 于 2020-10-13 22:15 编辑
>>> myteacher ="小甲鱼"
>>> yourteacher = myteacher
>>> myteacher ="黑夜"
>>> print(yourteacher)
小甲鱼
>>> print(myteacher)
黑夜
>>>
PY是根据你最后一次赋值来看的
页:
[1]