python 不可变量和可变量(稍微深入)

编程入门 行业动态 更新时间:2024-10-28 20:20:01

python  不可<a href=https://www.elefans.com/category/jswz/34/1771380.html style=变量和可变量(稍微深入)"/>

python 不可变量和可变量(稍微深入)

@ 摘要:
Python的数据类型涉及到2个大原则 即 可变和不可变,是否可变显然说的变量代表的内存空间里的值。
本文简要概述python3的 (python2版本好像更奇葩) 并且和Java的相关内容进行类比。
以源码为依据,从时间和空间出发猜测为什么会这么做。
@ 作者:
@ 声明:不保证正确:) 转载无需注明 就说是你写的。

>>作者:


Python的不可变量

>字符

>数值

>元组

[不可变量的描述]

引用->对象:

  • 对于不可变量如果需要创建的对象的内容(value值)相同,则引用都指向同一个对象,不创建新的内存空间。
  • 理论上因为定义了值是不可变的。所以如果大家都一样的值,那就指向同一份内存空间好了。显然这么节省内存,避免冗余。
  • 但是实现的时候显然考虑到记录和维护这些变量。那么每次赋值的时候还涉及到一个查找是不是已经存在,引起了时间和空间的矛盾。实际上python实现的时候可是因地制宜的,会有很多的细节琐碎处。
#[demo1 数值(int float)]a = 10  #数值 但是是int 10
b = 10  #数值 但是是int 10
c = 10. #数值 但是是float 10.print(a is b)  #True 说明内存是相同的空间 这就是不可变导致的a和b数值相同,那么a,b指向同一个内存空间。
print(a == b)  

更多推荐

python 不可变量和可变量(稍微深入)

本文发布于:2024-02-13 00:10:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689956.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!