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 相关文章推荐
Python中的with...as用法介绍
May 28 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
python矩阵转换为一维数组的实例
Jun 05 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
值得收藏的10道python 面试题
Apr 15 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
Numpy的简单用法小结
Aug 28 Python
如何基于python实现归一化处理
Jan 20 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
Xadmin+rules实现多选行权限方式(级联效果)
Apr 07 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开发文件系统实例讲解
2006/10/09 PHP
php的一个简单加密解密代码
2014/01/14 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
ajax请求get与post的区别总结
2013/11/04 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
Python判断文件和字符串编码类型的实例
2017/12/21 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python数据正态性检验实现过程
2020/04/18 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
.net笔试题
2014/03/03 面试题
入党转预备思想汇报
2014/01/07 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
百日安全生产活动总结
2014/07/05 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
孩子教育的心得体会
2014/09/01 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
军训个人总结
2015/03/03 职场文书