python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)
本文地址:http://blog.csdn.net/sushengmiyan/article/details/11332589
作者: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
函数的返回值不是布尔哦。这点需要注意,还是跟cmp一样返回的是数值哦。