Python 2.x返回cmp的值

jam*_*lak 12 python python-2.x

引自文档:

cmp(x, y)

比较两个对象x和y并根据结果返回一个整数.返回值是负的,如果x < y,零,如果x == y严格正面的,如果x > y.

我的假设是,返回值总是下-1,01但该文档没有明确说,只有提零和正/负返回值.

是否有任何情况下,当返回值cmp(x,y)是不是-1,01

mat*_*ata 11

不,文档明确表示,yalues可以是任何东西.唯一指定的值是0比较对象是否相等.不要相信这个事实,你只看到了价值观-1,0并且1,这是一个实现细节和可能*变化,所以经常检查<>0.

*:注意 - 实际上,它实际上没有机会改变,因为cmp已经消失了pyhton3.改为使用丰富的比较.