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

转载 2015年11月20日 11:49:31

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

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

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

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

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

[python] view plaincopy
  1. operator.lt(a, b)   
  2. operator.le(a, b)   
  3. operator.eq(a, b)   
  4. operator.ne(a, b)   
  5. operator.ge(a, b)   
  6. operator.gt(a, b)   
  7. operator.__lt__(a, b)   
  8. operator.__le__(a, b)   
  9. operator.__eq__(a, b)   
  10. operator.__ne__(a, b)   
  11. operator.__ge__(a, b)   
  12. 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一样返回的是数值哦。

相关文章推荐

python3中替换python2中cmp函数的新函数

python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块。 在没有导入模块情况下,会出现下面的情况: 提示找不到cmp函数了,...

python3.x和python2.x的translate与maketrans函数使用差异

下面让我们看一个简单的例子来说明字符串转换的过程: 2.X下的演示过程: import string #导入string模...

Python3中的print函数以及与python2的比较

本文首先介绍在python3中print函数的应用,然后对比在pyhton2中的应用。

sorted()函数 在Python2.x 和 Python3.x 中有所不同

sorted(iterable[,cmp,[,key[,reverse=True]]]) 作用:Return a new sorted list from the items in iterab...

Python2中print函数用法

使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello = 'Hello Python' print strHello #输出结果:Hello Python ...

python2 filter() map() reduce()函数基础

python2 filter() map() reduce()

Python2 之 print函数示例

吐槽下,python2 官方文档的print资料好少啊,看的别人博客才知道咋用╮(╯_╰)╭ #!/usr/bin/env python # -*- coding: utf-8 -*- import ...

Python2(函数)

函数 基础 简单定义 可以位置传参(如下) 也可以关键字传参(arg=1) def func_name(arg(形参,多个参数以逗号隔开,可以带默认值,带默认值参数放在不带默认值函数之后 截图...

Python2.x与3_.x版本区别

  • 2017-08-25 09:45
  • 341KB
  • 下载

Python2Vs3

  • 2012-06-29 23:15
  • 74KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)