
python3.2.2版本中的cmp()函数
>>>a,b=1,2>>>a,b(1,2)>>>cmp(a,b)Traceback(mostrecentcalllast):File"<interactiveinput>...
>>> a,b = 1,2
>>> a,b
(1, 2)
>>> cmp(a,b)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'cmp' is not defined
>>>
为啥会出现如下情况呢?是不是3.2.2中没有这个函数了,有哪个函数代替cmp()内建函数呀?谢谢! 展开
>>> a,b
(1, 2)
>>> cmp(a,b)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'cmp' is not defined
>>>
为啥会出现如下情况呢?是不是3.2.2中没有这个函数了,有哪个函数代替cmp()内建函数呀?谢谢! 展开
1个回答
展开全部
3开始没这个函数了,官方文档是这么写的
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |