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


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

函数的返回值不是布尔哦。这点需要注意,还是跟cmp一样返回的是数值哦。

上一篇:linux 下mysql的启动 、调试、排错


下一篇:LOJ-10092(最大半连通子图)