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 相关文章推荐
详解Python3中yield生成器的用法
Aug 20 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
Python开发的HTTP库requests详解
Aug 29 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
python和c语言的主要区别总结
Jul 07 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
使用python创建生成动态链接库dll的方法
May 09 Python
python 爬取京东指定商品评论并进行情感分析
May 27 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
做一个有下拉功能的留言版
2006/10/09 PHP
dedecms模版制作使用方法
2007/04/03 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
JS性能优化笔记搜索整理
2013/08/21 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
js实现缓动动画
2020/11/25 Javascript
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python 字典操作提取key,value的方法
2019/06/26 Python
python实现列表的排序方法分享
2019/07/01 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
应用数学自荐书范文
2013/11/24 职场文书
教师档案管理制度
2014/01/23 职场文书
英文推荐信格式范文
2014/05/09 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js