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网络编程详解
Oct 31 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
python实现诗歌游戏(类继承)
Feb 26 Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
基于python plotly交互式图表大全
Dec 07 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
python自动从arxiv下载paper的示例代码
Dec 05 Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 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 作用域解析运算符(::)
2010/07/27 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
js随机生成一个验证码
2017/06/01 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python中单例模式总结
2018/02/20 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
对Django url的几种使用方式详解
2019/08/06 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
网络宣传方案
2014/03/15 职场文书
公司离职证明标准格式
2014/11/18 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
检讨书模板大全
2015/05/07 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL