Python进阶(七)-浅谈python3和Python2的区别

网友投稿 689 2022-05-29

#Python进阶(七)-浅谈python3和Python2的区别

不管使用何种版本的Python语言,都需要遵循编程规范,不该有的缩进一定不能有。否则会出现莫名其妙的错误,如下图所示:

在应用Python编程时,首先要明确所使用Python版本,因为版本2与3之间存在着很多细节性的差异。稍有不慎就会入坑~下面介绍一下具体应用中的细节性差异。

具体参照:https://docs.python.org/3/whatsnew/3.0.html

##print函数

Python3中print为一个函数,必须用括号括起来;Python2中print为class)。Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象。

###举例

在Python 2中:

print 'Hello, World!'

1

在Python 3中:

print( 'Hello, World!')

1

##reduce()函数

在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里。使用时要先引入from functools import reduce

##try except

try:

except Exception, e :

try: except Exception as e :

1

2

##打开文件

原: file( … )

或 open(…)

改为:

只能用 open(…)

##从键盘录入一个字符串

原: raw_input( “提示信息” )

改为: input( “提示信息” )

##整形除法自动转为float

python2:

1/2

2/2

1//2

0

1

0

python3:

1/2

2/2

1//2

0.5

1.0

0

##新的字符串格式化方法format取代%5.

##xrange重命名为range.

##!=取代 < >

##long重命名为int.

##exec变成函数

##Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:

>>> 中国 = 'china' >>>print(中国) china

1

2

3

python3中替换python2中cmp函数

Python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块。在没有导入模块情况下,会出现下面的错误:

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

所以要导入模块

看下面给的内置函数

operator.lt(a, b) #相当于 a=b operator.gt(a, b) #相当于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)

1

2

3

4

5

6

7

8

9

10

11

12

这几个函数就是用来替换之前的cmp,函数的返回值是布尔值。

##除法

Python进阶(七)-浅谈python3和Python2的区别

在python3.0中,/ 现在总是执行真除法,不管操作数的类型,都会返回包含任何余数的一个浮点结果。// 执行Floor除法,它截除掉余数并且针对整数操作数返回一个整数,如果有任何一个操作数是浮点数类型,则返回一个浮点数。

在python2.6中,/ 表示传统除法,如果两个操作数都是整数的话,执行截断的整数除法(好像是Floor除法????);否则,执行浮点除法(保留余数,好像是真除法?)。//执行Floor除法,并且像在python3.0中一样工作,对于整数执行截断除法,对于浮点数执行浮点除法。

不断更新中》。。。。

##参考资料

资料一

![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/f9c024e20306fb0e4e3e84a15aab3217.png)

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C语言 | 为什么写这三行代码
下一篇:SpringBoot学习笔记(十:文件上传下载 )
相关文章