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正则表达式re之compile函数解析
Oct 25 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
tensorflow 打印内存中的变量方法
Jul 30 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python gdal安装与简单使用
Aug 01 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
python 怎样进行内存管理
Nov 10 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 信息采集程序代码
2009/03/17 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
深入理解React中何时使用箭头函数
2017/08/23 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python 制作网站小说下载器
2021/02/20 Python
北京SQL新华信咨询
2016/09/30 面试题
创业计划书六个要素
2013/12/26 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
推广活动策划方案
2014/08/23 职场文书
农村党支部承诺书
2015/04/30 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android