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函数式编程
Jun 09 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python数据结构之单链表详解
Sep 12 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
远程部署工具Fabric详解(支持Python3)
Jul 04 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
python中字典增加和删除使用方法
Sep 30 Python
python 怎样进行内存管理
Nov 10 Python
Python图片检索之以图搜图
May 31 Python
Python Django获取URL中的数据详解
Nov 01 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 include的妙用,实现路径加密
2008/07/29 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
纯javascript版日历控件
2016/11/24 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
Python中用format函数格式化字符串的用法
2015/04/08 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
基于Python实现天天酷跑功能
2021/01/06 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
宝信软件JAVA工程师面试经历
2012/08/19 面试题
中秋节主持词
2014/04/02 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
spring boot中nativeQuery的用法
2021/07/26 Java/Android