本文地址: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一样返回的是数值哦。