为了账号安全,请及时绑定邮箱和手机立即绑定

什么时候在python中将对象加载到内存中?

什么时候在python中将对象加载到内存中?

qq_笑_17 2022-06-22 17:32:59
以python中的以下示例为例:$ python>>> id(True)140736139690832>>> id(1)140317292515368>>> ^D$ python>>> id(True)140736139690832>>> id(1)140585619968040True在这两种情况下都相同id,但数字1不一样。为什么会这样?它是否在初始化python之前将某些类型分配给内存地址,或者为什么不同项目之间的内存地址有时相同有时不同?从文档:CPython 实现细节:对于 CPython,id(x) 是存储 x 的内存地址。
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

CPython 为小数字创建可重用存储,但大概它在循环中执行此操作,并将它们存储到堆分配的常量数组中。另一方面,True更像False是“静态全局变量”,在 Python 可执行映像中具有固定地址。

所以这里没有什么真正令人惊讶的。你也不应该依赖这些细节id——在现实世界的 Python 程序中很少使用。


查看完整回答
反对 回复 2022-06-22
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号