是否保证Python中的False == 0
和True == 1
(假设它们没有被用户重新分配)?例如,是否在某种程度上保证下面的代码总是产生相同的结果,无论Python的版本是什么(包括现有的和可能的未来版本)?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
任何参考的官方文件将非常感激!
编辑:正如在许多答案中指出的那样,bool
继承自int
。因此,这个问题可以重新定义为:“文档是否正式地说程序员可以依赖从整数值__ABC2和1
继承的布尔值?”这个问题与编写不会因为实现细节而失败的健壮代码有关!