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 29 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
python 录制系统声音的示例
Dec 21 Python
Python操作CSV格式文件的方法大全
Jul 15 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
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
Laravel 5 学习笔记
2015/03/06 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
phpinfo的知识点总结
2019/10/10 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
请解释virtual关键字的含义
2015/06/17 面试题
2014年大班元旦活动方案
2014/02/26 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
保护地球的标语
2014/06/17 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
二胎满月酒致辞
2015/07/29 职场文书
导游词之昭君岛
2020/01/17 职场文书