python的id()函数解密过程

 更新时间:2012年12月25日 10:33:22   作者:  
id()函数在使用过程中很频繁,为此本人对此函数深入研究下,晒出代码和大家分享下,希望对你们有所帮助
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

>>> 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制作摩斯密码翻译器

    摩斯密码是一种将文本信息作为一系列通断的音调、灯光或咔嗒声传输的方法,本文将介绍如何通过Python制作摩斯密码翻译器,感兴趣的童鞋可以关注一下
    2021-11-11
  • Python基本文件操作实用指南

    Python基本文件操作实用指南

    文件操作是我们开发中必不可少的一项需求,下面这篇文章主要给大家介绍了关于Python基本文件操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • python魔法方法-属性转换和类的表示详解

    python魔法方法-属性转换和类的表示详解

    下面小编就为大家带来一篇python魔法方法-属性转换和类的表示详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 利用PyQt5模拟实现网页鼠标移动特效

    利用PyQt5模拟实现网页鼠标移动特效

    不知道大家有没有发现,博客园有些博客左侧会有鼠标移动特效。通过移动鼠标,会形成类似蜘蛛网的特效,本文将用PyQt5实现这一特效,需要的可以参考一下
    2022-03-03
  • Python开发必知必会标识符UUID全面使用指南

    Python开发必知必会标识符UUID全面使用指南

    在Python编程中,UUID(通用唯一标识符)是一个非常有用的工具,用于生成唯一的标识符,本文将深入探讨Python中UUID的用法、不同版本的UUID、以及如何在实际应用中充分利用UUID的优势
    2023-12-12
  • python实现修改xml文件内容

    python实现修改xml文件内容

    这篇文章主要介绍了python实现修改xml文件内容,XML 指可扩展标记语言,是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的
    2022-07-07
  • Pygame游戏开发之太空射击实战添加图形篇

    Pygame游戏开发之太空射击实战添加图形篇

    相信大多数8090后都玩过太空射击游戏,在过去游戏不多的年代太空射击自然属于经典好玩的一款了,今天我们来自己动手实现它,在编写学习中回顾过往展望未来,在本课中,我们将讨论如何在游戏中使用预先绘制的图形
    2022-08-08
  • Python实现的井字棋(Tic Tac Toe)游戏示例

    Python实现的井字棋(Tic Tac Toe)游戏示例

    这篇文章主要介绍了Python实现的井字棋(Tic Tac Toe)游戏,结合实例形式分析了井字棋的原理及Python相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • Django接受前端数据的几种方法总结

    Django接受前端数据的几种方法总结

    下面小编就为大家带来一篇Django接受前端数据的几种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 关于python selenium 运行时弹出窗口问题

    关于python selenium 运行时弹出窗口问题

    最近在做一个网页代填项目,用到了python的selenium知识,经过了各种尝试与搜索最后终算是较完美的解决了,下面小编给大家带来了python selenium 运行时弹出窗口问题,感兴趣的朋友一起看看吧
    2021-11-11

最新评论

?


http://www.vxiaotou.com