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批量导出导入MySQL用户的方法
Nov 15 Python
跟老齐学Python之Import 模块
Oct 13 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python的多维空数组赋值方法
Apr 13 Python
python批量查询、汉字去重处理CSV文件
May 31 Python
python实现大文本文件分割
Jul 22 Python
python修改FTP服务器上的文件名
Sep 11 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
python drf各类组件的用法和作用
Jan 12 Python
用python自动生成日历
Apr 24 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
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
在JavaScript中调用php程序
2009/03/09 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python基础入门之seed()方法的使用
2015/05/15 Python
Python 转义字符详细介绍
2017/03/21 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
宿舍卫生检讨书
2014/01/16 职场文书
入股协议书范本
2014/04/14 职场文书
项目建议书范文
2014/05/12 职场文书
模具专业求职信
2014/06/26 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android