相关疑难解决方法(0)

为什么bool是int的子类?

当通过python-memcached在memcached中存储bool时,我注意到它以整数形式返回.检查库的代码向我显示有一个地方isinstance(val, int)被检查以将值标记为整数.

所以我在python shell中测试了它并注意到以下内容:

>>> isinstance(True, int)
True
>>> issubclass(bool, int)
True
Run Code Online (Sandbox Code Playgroud)

但为什么究竟是bool一个子类int呢?

它有点意义,因为布尔值基本上是一个int,它可以只取两个值,但它需要比实际整数少得多的操作/空间(没有算术,只有一点存储空间)....

python boolean

79
推荐指数
2
解决办法
1万
查看次数

波浪号对布尔值的影响——为什么 Python 中的 ~True 是 -2 & ~False 是 -1?

问题

我发现这~True-2&~False正在-1使用我的 Jupyter Notebook。

这个消息来源~反转所有位。为什么不是~TrueFalse~FalseTrue


推理尝试

我试图解释这些:

True+1,并且 的位+1被反转。+倒置为-1在两位二进制中是01,所以反转位:10,即2。所以结果是-2

False+0+被反转为-0在两位二进制中是00,所有位反转,11,这就是3- 它应该是1


来源

这个答案点了一个更复杂的图:

一个充满 True 的列表只包含对一个规范 True 对象的 4 或 8 字节引用。

这个消息来源说: …

python boolean python-3.x

4
推荐指数
1
解决办法
125
查看次数

标签 统计

boolean ×2

python ×2

python-3.x ×1