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 相关文章推荐
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
Django框架多表查询实例分析
Jul 04 Python
Python3自动签到 定时任务 判断节假日的实例
Nov 13 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
使用Pandas的Series方法绘制图像教程
Dec 04 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 03 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
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js单词形式的运算符
2014/05/06 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
python中黄金分割法实现方法
2015/05/06 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
python实现最大优先队列
2019/08/29 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
学校先进集体事迹材料
2014/05/31 职场文书
司机岗位职责
2015/02/04 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
房产证明范本
2015/06/19 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle