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 动态获取当前运行的类名和函数名的方法
Apr 15 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python实现翻译word表格小程序
Feb 27 Python
python 装饰器重要在哪
Feb 14 Python
深入探讨opencv图像矫正算法实战
May 21 Python
Python使用Kubernetes API访问集群
May 30 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
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php生成随机数的三种方法
2014/09/10 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
js去除空格的12种实用方法
2013/11/08 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
python eventlet绿化和patch原理
2020/11/21 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
技校学生个人职业生涯规划范文
2014/03/03 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
2015年质检工作总结
2015/05/04 职场文书
困难补助申请报告
2015/05/19 职场文书
四大名著读书笔记
2015/06/25 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书