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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python中的localtime()方法使用详解
May 22 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
python邮件发送smtplib使用详解
Jun 16 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
django 通过URL访问上传的文件方法
Jul 28 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
Mar 09 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
python dir函数快速掌握用法技巧
Dec 09 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
详解Django中间件执行顺序
2018/07/16 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
数控专业个人求职信范例
2013/11/29 职场文书
跳槽求职信范文
2014/05/26 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
世界地球日活动总结
2015/02/09 职场文书
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技
Python测试框架pytest高阶用法全面详解
2022/06/01 Python
浅谈Redis缓冲区机制
2022/06/05 Redis