python的id()函数介绍
更新时间:2013年02月10日 17:45:24 作者:
本文为大家介绍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值相同,而很长的则不会;
查阅了如下的文章:
http://stackoverflow.com/questions/4293408/ids-of-immutable-types
http://stackoverflow.com/questions/3402679/identifying-objects-why-does-the-returned-value-from-id-change
之后,得到一个简单的结论:解释器在对值很小的int和很短的字符串的时候做了一点小优化,只分配了一个对象,让它们id一样了。
相关文章
python如何读取bin文件并下发串口
这篇文章主要介绍了python如何读取bin文件并下发串口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2019-07-07
python如何启动cmd批处理文件
这篇文章主要介绍了python如何启动cmd批处理文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
2024-06-06
关于Python代码混淆和加密技术
这篇文章主要介绍了关于Python代码混淆和加密技术,Python进行商业开发时, 需要有一定的安全意识, 为了不被轻易的逆向还原,混淆和加密就有所必要了,需要的朋友可以参考下
2023-07-07
PyCM多类别混淆矩阵分析python库功能使用探究
这篇文章主要为大家介绍了python编写的PyCM多类混淆矩阵库,用于多类别混淆矩阵分析,帮助用户从不同角度评价分类模型的表现,这些指标包括但不限于准确率、召回率、F1分数、Kappa 统计量等,支持二分类、多分类及多标签分类问题
2024-01-01
Pyramid添加Middleware的方法实例
在pylons的文档中,有专门讲过如何添加自己的Middleware, 通过这些Middleware, 我们可以改变输入和输出。这也是WSGI(Web Server Gateway Interface)的优势和精髓所在,那么在pyramid中,我们如何添加Middleware呢
2013-11-11
Python实现遍历读取文件或文件夹
搞机器学习或者深度学习算法很多时候需要遍历某个目录读取文件,特别是经常需要读取某个特定后缀的文件。本文为大家准备了Python遍历读取文件或文件夹的示例代码,需要的可以参考一下
2022-08-08
利用Python制作动态排名图的实现代码
这篇文章主要介绍了利用Python制作动态排名图的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2020-04-04
Python面向对象三大特征:继承、封装和多态的深度解析
在面向对象程序设计中,对象可以看做是数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合,Python是面向对象的语言,支持面向对象编程的三大特性:继承、封装(隐藏)、多态,本文将逐一讲解Python的三大特性
2025-01-01
最新评论