码迷,mamicode.com
首页 > 编程语言 > 详细

官方python3.x所做的一些更改

时间:2017-09-01 22:20:21      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:帮助   port   inpu   没有   如何   world   注意   简单   import   

在python3.x中,raw_input已经删除掉,只能使用input

print "hello world!" 已经不能这样编写,如果在3.x中这样使用print,将导致错误返回。在3.x中使用的规范是这样。 print(...),要加上括号。

在python 3.x中,已经删除cmp内建函数。如果在3.x中想表示类似的代码cmp(a,b)。只能这样写(a>b)-(a<b)替代。

或是导入模块operator来代替cmp。

以下是自己在网上进行搜索查询,找到的关于在3.x中替代cmp的一些参考,资料来源:http://blog.csdn.net/zhuhai__yizhi/article/details/77644915

在没有导入模块情况下,会出现下面的情况:

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

所以要导入模块operator。

技术分享看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一样返回的是数值哦。

我使用的是python3.6.2版本,在cmd中的python交互模式下进行如下代码测试。

import operator
str1="a"
str2="b"
print(operator.eq(str1,str2))

输出结果为:

False

发现输出的还是布尔值。

官方python3.x所做的一些更改

标签:帮助   port   inpu   没有   如何   world   注意   简单   import   

原文地址:http://www.cnblogs.com/runpython/p/7465137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!