python的id()函数介绍


Posted in Python onFebruary 10, 2013

>>> 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值相同,而很长的则不会;

查阅了如下的文章:
http://stackoverflow.com/questions/4293408/ids-of-immutable-types
http://stackoverflow.com/questions/3402679/identifying-objects-why-does-the-returned-value-from-id-change
之后,得到一个简单的结论:解释器在对值很小的int和很短的字符串的时候做了一点小优化,只分配了一个对象,让它们id一样了。

Python 相关文章推荐
Python中字符编码简介、方法及使用建议
Jan 08 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
使用Python实现简单的服务器功能
Aug 25 Python
Python中super函数的用法
Nov 17 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
Python序列类型的打包和解包实例
Dec 21 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
Python命名空间namespace及作用域原理解析
Jun 05 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
PyQt5实现多张图片显示并滚动
Jun 11 Python
python client使用http post 到server端的代码
Feb 10 #Python
python中查找excel某一列的重复数据 剔除之后打印
Feb 10 #Python
python中的一些类型转换函数小结
Feb 10 #Python
学习python的几条建议分享
Feb 10 #Python
解决谷歌搜索技术文章时打不开网页问题的python脚本
Feb 10 #Python
easy_install python包安装管理工具介绍
Feb 10 #Python
python 从远程服务器下载日志文件的程序
Feb 10 #Python
You might like
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
JS获取时间的方法
2015/01/21 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
django框架两个使用模板实例
2019/12/11 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
自我评价是什么
2014/01/04 职场文书
项目开发计划书
2014/01/09 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
Oracle用户管理及赋权
2022/04/24 Oracle