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编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
python3+PyQt5泛型委托详解
Apr 24 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
python如何在word中存储本地图片
Apr 07 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 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 header功能的使用
2013/10/28 PHP
四个PHP非常实用的功能
2015/09/29 PHP
php创建图像具体步骤
2017/03/13 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
深入理解Python3 内置函数大全
2017/11/23 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
详解Python中is和==的区别
2019/03/21 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
求职者应聘的自我评价
2013/10/16 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
高一数学教学反思
2014/02/07 职场文书
国窖1573广告词
2014/03/21 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
会议邀请函
2015/01/30 职场文书
对公司的意见和建议
2015/06/04 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书