在 Python 中,通常的做法是将 False 和 True 布尔值与整数 0 相关联1. 然而,这种对应关系是由语言保证的,还是仅仅是一个将来可能会改变的实现细节版本?
在 Python 2.x 中,True 和 False 没有明确定义为关键字,它们的值可以重新分配。然而,即使在这种情况下,比较仍然会返回正确的 True 和 False 值。
在 Python 3.x 中,True 和 False 被正式定义为关键字。这保证了它们的值始终分别等于 1 和 0。
Python 中布尔值和整数之间等价的基础是 bool 继承自 int。这种继承关系确保布尔值可以在需要整数的上下文中使用,例如列表索引。
Python 文档明确指出布尔值继承自整数:
object | int | bool
文档还阐明了布尔值在几乎所有上下文中的行为都类似于整数 0 和 1,除非转换为
根据文档和 Python 的当前实现,可以安全地假设 False 和 True 将始终分别等于 0 和 1。但是,如果 Python 4 对整数继承层次结构引入重大更改,则此假设可能不再有效。
以上是Python 是否保证'False”和'True”始终等于 0 和 1?的详细内容。更多信息请关注PHP中文网其他相关文章!