是python变量指针吗?否则他们是什么? [英] Are python variables pointers? or else what are they?
本文介绍了是python变量指针吗?否则他们是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
据我所知,Python中的变量只是指针.
Variables in Python are just pointers, as far as I know.
基于此规则,我可以假定此代码段的结果:
Based on this rule, I can assume that the result for this code snippet:
i = 5
j = i
j = 3
print(i)
将是3
.
但是我得到了一个出乎意料的结果,它是5
.
would be 3
.
But I got an unexpected result for me, it was 5
.
此外,我的Python书确实涵盖了以下示例:
Moreover, my Python book does cover this example:
i = [1,2,3]
j = i
i[0] = 5
print(j)
结果将是[5,2,3]
.
我理解错了什么?
推荐答案
我们称它们为引用.他们就是这样
We call them references. They work like this
i = 5 # create int(5) instance, bind it to i
j = i # bind j to the same int as i
j = 3 # create int(3) instance, bind it to j
print i # i still bound to the int(5), j bound to the int(3)
小整数是被拘禁的,但这对这个解释并不重要
Small ints are interned, but that isn't important to this explanation
i = [1,2,3] # create the list instance, and bind it to i
j = i # bind j to the same list as i
i[0] = 5 # change the first item of i
print j # j is still bound to the same list as i
这篇关于是python变量指针吗?否则他们是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文