python的id()函数介绍


Posted in Python onFebruary 10, 2013

>>> 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 相关文章推荐
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
python实现搜索文本文件内容脚本
Jun 22 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Python缓存技术实现过程详解
Sep 25 Python
Python实现图片识别加翻译功能
Dec 26 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 Python
python神经网络学习 使用Keras进行简单分类
May 04 Python
Python 匹配文本并在其上一行追加文本
May 11 Python
python client使用http post 到server端的代码
Feb 10 #Python
python中查找excel某一列的重复数据 剔除之后打印
Feb 10 #Python
python中的一些类型转换函数小结
Feb 10 #Python
学习python的几条建议分享
Feb 10 #Python
解决谷歌搜索技术文章时打不开网页问题的python脚本
Feb 10 #Python
easy_install python包安装管理工具介绍
Feb 10 #Python
python 从远程服务器下载日志文件的程序
Feb 10 #Python
You might like
PHP执行速率优化技巧小结
2008/03/15 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python实现的简单算术游戏实例
2015/05/26 Python
浅谈Python处理PDF的方法
2017/11/10 Python
python实现kNN算法
2017/12/20 Python
超简单使用Python换脸实例
2019/03/27 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS