Python

Python,第1张

Python

在Python 2.x的,这是没有保证的,因为它是可能的True,并False重新分配。但是,即使发生这种情况,仍然正确返回布尔True和布尔False进行比较。

在Python 3.x中,

True
False
是关键字,并且始终等于1和0。

通常情况下,在Python 2中,并且始终在Python 3中:

False对象的类型

bool
是的子类
int

object   | int   | bool

这是在你的示例

['zero', 'one']``[False]
中起作用的唯一原因。它不适用于不是整数的子类的对象,因为列表索引仅适用于整数或定义
__index__
方法的对象(感谢
mark-dickinson
)。

编辑:

当前的python版本和Python 3都是如此。

python 2.6
的文档和python 3的文档都说:

整数有两种类型:

[...]
整数(
int)``[...]
布尔值(
bool

在布尔小节中:

布尔值:它们表示真值False和True布尔值在几乎所有上下文中的行为分别类似于值0和1,但例外是当转换为字符串时,字符串“ False”或“ True”分别返回。

对于Python 2也有:

在数字上下文中(例如,用作算术运算符的参数时),它们的[False和True]分别类似于整数0和1。

因此,布尔值在Python 2.6和3中被明确视为整数。

因此,在Python 4出现之前,你是安全的.



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4932868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存