详细讲解python基础之变量赋值以及变量之间的关系--“引用”

详细讲解python基础之变量赋值以及变量之间的关系--“引用”,第1张

正式开始之前我们先来约定一下本篇文章中所用到的名词,请看代码:
a = {}

1.等号左侧的东西我们称之为变量名;
2.等号右边的东西我们称之为真实变量或者对象;也就是说,上述代码中,a就是变量名,{}这个空字典就是真实变量,也可以叫做对象。



3.那么上面的代码我们称之为 把字典对象绑定给变量名a。


python这门语言变量的创建或者说赋值在内存中的表现形式为引用,也就是说,我们可以理解为变量名只是一个标签

python的引用 不可变对象引用
a = 65535
b = a
print("a的id地址:",id(a))
print("b的id地址:",id(b))
# 执行结果如下,每个人之行的结果都会不一样,只不过a和b的地址一定都是同一个。


# a的id地址: 1942973920 # b的id地址: 1942973920 # a和b是指向同一个对象

1.上述第一个语句的意思就是代码编写者告诉python解释执行器我要把65535绑定给a这个变量名,以后我想要用a这个变量的时候,实际参加运算的是65535。


我们虽然告诉了解释执行器了,但解释执行器是安装在 *** 作系统上面的,python无法直接控制硬件,所以真正的去创建65535这个int对象的是 *** 作系统, *** 作系统去 *** 作了内存,让内存中给出一块内存空间来存放65535这个int对象(int类型就是整数型对象,也叫整型对象),并且还会开辟出一块极小的空间存放变量名a和65535这个int对象的地址,也就是变量名a指向了真实的65535这个int类型对象,我们把变量名和被变量名指向的对象放在一起统称之为变量


所以第一个语句我们就可以叫做创建了一个变量名为a且指向65535这个对象的变量.

那为什么python要这么做?

  • 是因为python最初被设计的时候就是想要最快的开发速度。


    把变量名和真正参与运算的对象分开存放,通过指向来使变量名和对象来绑定在一起,这样就可以我们随意的给一个变量名绑定任何对象,不需要限制类型,因为变量名在内存中存储的只是一个地址,至于说地址的另一侧是什么,变量名可以完全不用关心,这样,就使得python更加容易让初学者入门,上手。


    不至于让开发者每次创建变量以及在使用的过程中还要考虑这个变量名需要绑定什么类型的对象,也让开发更加高效。


2.上述代码块中第二个语句的意思是我把之前变量名a指向的对象在让变量名b也去指向它。


也就是说b引用了a,变量名a和变量名b指向了同一个65535这个int对象。



所以id(a)和id(b)的结果是相同的,因为它们指向的是同一对象,也就是说参与计算机运算的也是同一个,那么自然结果也就是同一个了.

以上我们阐述了python创建一个变量,和引用一个变量的相关过程,包括从开发人员写代码,到我们python解释执行器去执行代码,以及最后由 *** 作系统去 *** 作硬件达成我们想要的目的,这样一个过程。


希望上面的内容能够帮到看到这个帖子的你。


如有疑问可在评论区留言,看到会回复。


祝开心每一天😄😄!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/578242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存