在Python面向对象编程中,cmp()函数的作用是什么?


cmp()函数

cmp(x,y) 函数比较两个参数 x 和 y 的值:

cmp(x, y)

返回值为:

如果 x 小于 y,则为负数。

如果 x 等于 y,则为零。

如果 x 大于 y,则为正数。

内置的 cmp() 函数通常只返回 -1、0 或 1。但是,其他地方也需要具有相同调用顺序的函数,这些函数可能会返回其他值。最好只观察结果的符号。

>>> cmp(2,8)
-1
>>> cmp(6,6)
0
>>> cmp(4,1)
1
>>> cmp('stackexchange', 'stackoverflow')
-1

cmp() 方法比较两个列表的元素。

语法

cmp(list1, list2)

如果元素类型相同,则执行比较并返回结果。如果元素类型不同,则检查它们是否为数字。

如果是数字,则根据需要执行数值强制转换并进行比较。

如果任一元素是数字,则另一个元素“更大”(数字“最小”)。

否则,按名称按字母顺序对类型进行排序。

如果到达其中一个列表的末尾,则较长的列表“更大”。如果我们遍历两个列表并且数据相同,则结果为平局,这意味着返回 0。

示例

以下示例显示了 cmp() 方法的用法。

list1, list2 = [456, 'xyz'], [789, 'abc']
print cmp(list1, list2)
print cmp(list2, list1)
list3 = list2 + [896];
print cmp(list2, list3)

输出

运行上述程序时,会产生以下结果:

-1
1
-1

更新于:2020年6月15日

371 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告