python变量是指针吗?否则它们是什么? [英] Are python variables pointers? or else what are they?

查看:45
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆