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

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