在Python中很好地定义了True和False的顺序,还是留作实现细节?
从控制台,我看到True之前的False排序......但我不知道这是否是我应该依赖的行为。
(我确定有一些关于此的Python文档,但我找不到它......)
答案 0 :(得分:14)
http://docs.python.org/2/reference/datamodel.html#the-standard-type-hierarchy
布尔:这些代表真值False和True。表示值False和True的两个对象是唯一的布尔对象。布尔类型是普通整数的子类型,布尔值在几乎所有上下文中的行为分别类似于值0和1,例外的是当转换为字符串时,返回字符串“False”或“True”,分别
这告诉我,python语言需要False < True
,False == 0
,True == 1
,True != 2
。
同样的措辞也保留在Python 3中。
答案 1 :(得分:1)
我们可以证明可以使用Python REPL对bool进行排序,其中False
是较低的值:
>>> sorted([False, True, True, False, True])
[False, False, True, True, True]