根据文档和此教程,
cmp()
函数有以下返回值:
如果 x < y,则返回 -1
如果 x == y,则返回 0
如果 x > y,则返回 1
该教程还提到:
cmp()
函数返回两个数字之差的符号
我不太明白什么是“两个数字之差的符号”。那难道不意味着在数字的符号不相等时返回一个值吗?因为...
cmp(80, 100) : -1 # both have positive sign.
cmp(180, 100) : 1 # both also have positive sign.
cmp(-80, 100) : -1
cmp(80, -100) : 1
**注意:来自教程的代码。*
尽管我对符号差异感到困惑,但我实在想不出为什么我们需要一个内置函数在x < y时返回-1的值。
cmp( )
函数不是很容易实现吗?Python创建者保留cmp()
函数是否有任何原因,或者Python cmp()
函数有任何隐藏的用途?
>=
的那一段并不完全正确,因为cmp
可以针对这些情况返回适当的结果。但是对于我之前评论中提到的NumPy情况则不适用。 - Levi Morrisonset('ab')
和set('bc')
)?这些集合没有顺序,目前测试等式为False
,小于和大于,并且cmp
因此没有合理的结果,根据我的当前想法。 - Russia Must Remove Putin>=
是作为一个集合操作符。说实话,我认为这样做不是一个好主意——我不认为这种符号在集合论中被使用过,也不直观,至少对我来说不是——但是numpy在元素比较方面的用法似乎还不错。也许可以切换到一个numpy的例子? - Levi Morrison