热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python布尔值的存储空间中存储的值是多少?

我对内存空间分配不了解很多.对于每个变量,都会分配一个内存空间,因此对于Python中的布尔变量,将在该变量的内存空间中存储什么值?解决方法:注意:以下描述适用于Python的CP

我对内存空间分配不了解很多.对于每个变量,都会分配一个内存空间,因此对于Python中的布尔变量,将在该变量的内存空间中存储什么值?

解决方法:

注意:以下描述适用于Python的CPython参考解释器.实施细节将在其他解释器中有所不同,例如PyPy,Jython,IronPython等

Python的布尔对象是单例.因此,如果您说:

a = True
b = bool('nonzerolen')

然后,您有两个对True的单例实例的引用(分别为a和b);除了用于保存每个引用的指针外,没有分配任何额外的内存.

对于实例本身,碰巧,bool是int的子类,因此该实例与Python int具有相同的布局,其值是0或1.对象本身从Python 2到Python 3略有不同,但是基本上标准Python对象标头(包括对类类型的引用和引用计数),加上0或1(在Python 2中为带符号的size_t,在Python 3中为16或32位值的单个元素数组).


推荐阅读
author-avatar
lovejiao2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有