新手代码求助
>>> myteacher = '小甲鱼'>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)
谁能告诉我,为什么小甲鱼的答案是(小甲鱼)
我的理由:因为先前myteacher被赋值为‘小甲鱼’,后面yourteacher被myteacher赋值,变为'小甲鱼',又因为myteacher被赋值为‘黑夜’,yourteacher因为被myteacher赋值,所以不应该是’黑夜‘吗?
能否详细解答,并说服我的理由.
{:10_269:} 本帖最后由 青出于蓝 于 2022-7-24 17:00 编辑
注意语句运行顺序
第2行 yourteacher = myteacher
将'小甲鱼'赋给yourteacher
myteacher在第3行改变,可是赋值语句在第2行
如果 2,3行调转,则是 '黑夜'
也就是说,赋值过程是一次性的,之后赋值的对象即使改变,被赋值的变量也不会受影响!
欢迎追问! 使用id函数可以看到变量的地址
那你可以看看下面的代码
>>> myteacher = '小甲鱼'
>>> id(myteacher)
5476040
>>> yourteacher = myteacher
>>> id(yourteacher)
5476040
>>> myteacher = '黑夜'
>>> id(myteacher)
5556416
>>> id(yourteacher)
5476040
>>>
可以看到在yourteacher = myteacher之后,yourteacher的地址就跟myteacher的地址一样了,但在myteacher = '黑夜'之后,myteacher的地址就变成了另一个地址,而yourteacher的地址还是原来的地址,所以yourteacher = myteacher并不是将yourteacher和myteacher关联起来,他们仅仅只是指向了同一个地址,如果其中一个变量指向了另一个地址,另一个变量指向的还是原来的地址 青出于蓝 发表于 2022-7-24 16:57
注意语句运行顺序
第2行 yourteacher = myteacher
嗷,谢谢{:5_91:} 临时号 发表于 2022-7-24 16:57
使用id函数可以看到变量的地址
那你可以看看下面的代码
谢谢,虽然我不知道id函数是什么,大概意思我懂了,谢谢!{:5_91:}
页:
[1]