Python中的false=0和True=1是实现细节,还是由语言保证?
它能保证False == 0
和True == 1
,在Python中(假设它们不是由用户重新分配的)?例如,是否以任何方式保证了以下代码始终会产生相同的结果,而不管Python的版本(既有的,也可能是未来的)?
0 == False # True1 == True # True['zero', 'one'][False] # is 'zero'
如有任何参考文件,将不胜感激!
编辑*如许多答复所述,bool
继承自int
..因此,这个问题可以改写为:“文档是否正式规定程序员可以依赖从整数继承的布尔人,有价值0
和1
“?”。这个问题与编写健壮的代码有关,这些代码不会因为实现细节而失败!