博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python优化 id()函数
阅读量:6334 次
发布时间:2019-06-22

本文共 486 字,大约阅读时间需要 1 分钟。

>>> 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一样了。

本文转自 落花非有意  51CTO博客,原文链接:http://blog.51cto.com/1992zhong/1622115,如需转载请自行联系原作者
你可能感兴趣的文章
【Splay】bzoj3224 Tyvj 1728 普通平衡树
查看>>
【dijkstra】【次短路】【fread】hdu6181 Two Paths
查看>>
python3支持excel读写
查看>>
工具:SVN的Web客户端(ViewVC、SVNWebClient、sventon)和任务管理(Trac、Collaboa)
查看>>
ubuntu关闭自动更新、打开 ubuntu 的 apport 崩溃检测报告功能
查看>>
vmlinux,zImage,bzImage,vmlinuz,uImage,关系
查看>>
会议管理拖动效果的页面制作1
查看>>
linux grep、find 命令详解
查看>>
Vuex详解笔记2
查看>>
react + redux 完整的项目,同时写一下个人感悟
查看>>
vue开发移动端总结
查看>>
JMeter添加压力机、下载文件
查看>>
c# 字符串加密解密
查看>>
20155301 信息安全系统设计基础第五次实验
查看>>
09-Python字典的基础
查看>>
linux 下简单的ftp客户端程序
查看>>
ASP.NET MVC3 Model验证总结
查看>>
自定义全局样式
查看>>
08 常见事件响应的实现方式对比
查看>>
php 验证邮箱的方法
查看>>