python的id()函数解密过程


Posted in Python onDecember 25, 2012

>>> 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值相同,而很长的则不会;
之后,可以得到一个简单的结论就是:解释器在对值很小的int和很短的字符串的时候做了一点小优化,只分配了一个对象,让它们id一样了。

Python 相关文章推荐
Python和Perl绘制中国北京跑步地图的方法
Mar 03 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
python实现最大优先队列
Aug 29 Python
django创建简单的页面响应实例教程
Sep 06 Python
django框架forms组件用法实例详解
Dec 10 Python
python 实现字符串下标的输出功能
Feb 13 Python
django序列化时使用外键的真实值操作
Jul 15 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
用python发送微信消息
Dec 21 Python
python cookielib 登录人人网的实现代码
Dec 19 #Python
python 多线程应用介绍
Dec 19 #Python
Python多线程学习资料
Dec 19 #Python
python搭建简易服务器分析与实现
Dec 15 #Python
Python笔记(叁)继续学习
Oct 24 #Python
python笔记(2)
Oct 24 #Python
python笔记(1) 关于我们应不应该继续学习python
Oct 24 #Python
You might like
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
php格式化时间戳
2016/12/17 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
JS实现div居中示例
2014/04/17 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
进一步理解Python中的函数编程
2015/04/13 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Python正则表达式学习小例子
2020/03/03 Python
用友笔试题目
2016/10/25 面试题
餐厅执行经理岗位职责范本
2014/02/26 职场文书
小学作文评语大全
2014/04/21 职场文书
开工仪式策划方案
2014/05/23 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
2014年销售部工作总结
2014/12/01 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python