是否定义了Python的bool排序?

Ric*_*eur 7 python sorting undefined-behavior

在Python中定义True和False的顺序,还是作为实现细节保留?

从控制台,我在True之前看到False排序......但我不知道这是否是我应该依赖的行为.

(我确定有一些关于这个的Python文档,但我找不到它......)

Bil*_*nch 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中也保留了相同的措辞.

  • 如果您不确定是否同意sharth的理解,请尝试将其插入口译员.您将快速验证"False <True".事实上,阅读规范并在解释器中玩它总是好主意! (2认同)