python的id()函数解密过程

>>> a = 2.5
>>> b = 2.5
>>> c = b
>>> a is c
False

>>> a = 2
>>> b = 2
>>> c = b
>>> a is c
True

今天在使用is函数的时候去打印a,b分别被赋值为2.5 和2的情况,发现:
>>> a = 2
>>> b = 2
>>> id(a)
21132060
>>> id(b)
21132060
>>> a = 2.5
>>> b = 2.5
>>> id(a)
19622112
>>> id(b)
29321464

当a,b为2的时候id相同,而为2.5的时候不同,这种情况在string字符串的时候也会出现,即当很短的a,b赋值很短的字符串的时候,它们的id值相同,而很长的则不会;
之后,可以得到一个简单的结论就是:解释器在对值很小的int和很短的字符串的时候做了一点小优化,只分配了一个对象,让它们id一样了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2287181.html

(0)
上一篇 2025年2月27日 22:30:44
下一篇 2025年2月18日 00:53:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python函数介绍:id函数的功能和示例

    Python函数介绍:id函数的功能和示例 Python中的id()函数是一个内置函数,它可以返回一个对象的内存地址。这个内存地址是一个整数,唯一地标识了对象在计算机内存中的位置。id()函数的语法如下: id(object) 登录后复制 …

    2025年2月26日
    200

发表回复

登录后才能评论