栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当python添加小整数时,幕后会发生什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当python添加小整数时,幕后会发生什么?

Python会

int
以一定数量保留对象池。当您在该范围内创建一个时,您实际上会获得对已有对象的引用。我怀疑这是出于优化原因。

对于超出该池范围的数字,每当您尝试创建一个新对象时,您似乎都会取回该对象。

$ pythonPython 3.2 (r32:88445, Apr 15 2011, 11:09:05) [GCC 4.5.2 20110127 (prerelease)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> x = 300>>> id(x)140570345270544>>> id(100+200)140570372179568>>> id(x*2)140570345270512>>> id(600)140570345270576

资源

PyObject * PyInt_FromLong(long ival)返回值:新参考。创建一个新的整数对象,其值为ival。

当前的实现为-5到256之间的所有整数保留一个整数对象数组,当您在该范围内创建int时,您实际上只是返回对现有对象的引用。
因此应该可以更改1的值。我怀疑在这种情况下Python的行为是不确定的。:-)

重点矿



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651695.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号