1

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

[] > "sdfasfg" > ()

这似乎被记录在案:

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

以同样的方式,

object() < str()

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

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

4

1 回答 1

2

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

如果您正在使用 Python 3,那么请查看. 来自此来源的相关引用:

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

于 2013-07-01T15:48:56.020 回答