您的位置:首页 > 编程语言 > Python开发

python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)

2013-09-07 16:58 831 查看
本文地址:/article/1515605.html

作者:sushengmiyan

在python2中我们经常会使用cmp函数来比较一些东西,但是在python3中,你再来使用这个函数的时候,发现就报错了,提示找不到这个函数,这是为啥呢?嗯,新版的python已经舍弃之。

在python3中使用时报错信息如下:

Syntax Error: if cmp(os.getcwd(), os.path.dirname(os.sys.argv[0])) <> 0:: Test.py, line 34055


提示找不到cmp函数了,那么在python3中该如何使用这个函数呢?

看python的帮助文档,在oprater这个模块中有了这么几个函数

operator.lt(a, b) 
operator.le(a, b) 
operator.eq(a, b) 
operator.ne(a, b) 
operator.ge(a, b) 
operator.gt(a, b) 
operator.__lt__(a, b) 
operator.__le__(a, b) 
operator.__eq__(a, b) 
operator.__ne__(a, b) 
operator.__ge__(a, b) 
operator.__gt__(a, b)


这几个函数就是用来替换之前的cmp的,之前使用cmp的同胞们,咱们以后就换上面这些函数咯。

先简单说下这几个函数的意思吧。

lt(a,
b) 相当于 a
< b

le(a,b)
相当于 a
<= b

eq(a,b)
相当于 a
== b

ne(a,b)
相当于 a
!= b

gt(a,b)
相当于 a
> b

ge(a, b)相当于 a>=
b

函数的返回值不是布尔哦。这点需要注意,还是跟cmp一样返回的是数值哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: