python内置类型的比较顺序

时间:2013-07-01 15:37:38

标签: python comparison built-in-types

我正在寻找一套好的哨兵价值,例如:实验:

[] > "sdfasfg" > ()

这似乎记录在案:

  

CPython实现细节:除了以外的不同类型的对象   数字按其类型名称排序;相同类型的对象   不支持正确比较的,按地址排序。 reference

以同样的方式,

object() < str()

“最大”内置类型似乎是unicode,我可以使用什么作为“正确”的哨兵值来与unicode类型进行比较?这是一个比任何unicode字符串都大的值吗?

内置类型实例的比较顺序是否在Python中定义得很好?

1 个答案:

答案 0 :(得分:2)

任意对象的比较称为“富有的同伴”。有一些文档herehere

如果您正在使用Python 3,请检查此out。该来源的相关报价:

  

同时使用丰富的比较方法和__cmp__()方法违反了应该只有一种明显方法的原则,因此在Python 3中删除了对__cmp__()的支持。因此,对于Python 3,如果希望对象具有可比性,则必须实现所有丰富的比较运算符。