我安装的是Python 2.6,文档中对内建函数cmp()的描述是:
cmp(x, y)Compare the two objects x and y and return an integer according to the outcome. The return value is negative if x < y, zero if x == y and strictly positive if x > y.
也就是说若x<y则返回一个负数(但不一定是-1),x>y则返回正数(但不一定是1),可是我在命令行里试cmp(5,3),cmp(98,76)等等返回的都是1啊?!!!从来没有返回其他正数的情况,同样当x<y时返回的都是-1。这岂不是与文档描述不相符了吗?请问各位高手这是怎么回事?小弟不胜感激!!!
我这里是Pyton2.6.5,测试了下完全没问题,你的代码方便贴出来不,是不是你调用的不是内置的cmp,而是引了其他模块了。另外:这个函数在python3中已经没有了,如果楼主要考虑将来版本升级,最好不要用它了
代码如下:
@inuyasha0618: 不好意思,我看错你的问题了。好像就是只能返回3个值:1、0、-1。文档里的说法也不算错。有点像“白马非马”之争了。