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中Collection的使用小技巧
Aug 18 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
Python设计模式之门面模式简单示例
Jan 09 Python
Django添加feeds功能的示例
Aug 07 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
Python 爬虫性能相关总结
Aug 03 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
python 绘制国旗的示例
Sep 27 Python
Python ConfigParser模块的使用示例
Oct 12 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中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
关于jQuery中的end()使用方法
2011/07/10 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python反射用法实例简析
2017/12/22 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
如何在pycharm中安装第三方包
2020/10/27 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
英国在线花园中心:You Garden
2018/06/03 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
售后专员岗位职责
2013/12/08 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
施工安全责任书
2014/04/14 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
物业管理交接协议书
2016/03/24 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python