导航
  • 报考
  • 备考
  • 政策

报考

备考

复习资料

政策

行业动态

行业发展|Python版本区别,Python3和Python2的区别详解

环球网校·2019-12-11 14:28:37浏览40 收藏12

请输入下面的图形验证码

提交验证

预约成功

我知道了
摘要 在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注python各种问题,今天环球网校的小编就来和大家讲讲Python3和Python2的区别。

和 Python 2.x 版本相比,Python 3.x 版本在语句输出、编码、运算和异常等方面做出了一些调整,本节就对这些调整一一做一下简单介绍。

本节适合有 Python 基础的学员阅读,初学者可先跳过本节,整体学完 Python 之后,再回过头来阅读。

1、Python3和Python2的区别——Python 3.x print函数代替了print语句

在 Python2.x 中,输出数据使用的是 Print 语句,例如:

>>> print "3,4"

3,4

或者

>>> print(3,4)

(3,4)

但是在 Python 3.x 中,print 语句没有了,取而代之的是 print 函数,例如:

>>> print(3,4)

3 4

如果还像 Python 2.x 中那样使用 print 语句,Python 编译器就会报错,例如:

>>> print "3,4"

File "", line 1

print "3,4"

^

SyntaxError: Missing parentheses in call to 'print'

2、Python3和Python2的区别——Python 3.x 除法运算

和其他语言相比,Python 的除法运算要高端很多,它的除法运算包含 2 个运算符,分别是 / 和 //,这 2 个运算符在 Python 2.x 和 Python 3.x 的使用方法如下:

/ 运算符

在 Python 2.x 中,使用运算符 / 进行除法运算的方式和 Java、C 语言类似,整数相除的结果仍是一个整数,浮点数除法会保留小数点部分,例如:

>>>1/2

0

>>>1.0/2

0.5

但是在 Python 3.x 中使用 / 运算符,整数之间做除法运算,结果也会是浮点数。例如:

>>>1/2

0.5

运算符 //

使用运算符 // 进行的除法运算叫做 floor 除法,也就是输出不大于结果值的一个最大的整数(向下取整)。此运算符的用法在 Python 2.x 和Python 3.x 中是一样的,举个例子:

#Python 2.x

>>> -1//2

-1

#Python 3.x

>>> -1//2

-1

3、Python3和Python2的区别——Python 3.x 异常

在 Python 3.x 版本中,异常处理改变的地方主要在以下几个方面:

在 Python 2.x 版本中,所有类型的对象都是直接被抛出的,但是在 Python 3.x 版本中,只有继承 BaseException 的对象才可以被抛出。

在 Python 2.x 版本中,捕获异常的语法是“except Exception,var:”;但在 Python 3.x 版本中,引入了 as 关键字,捕获异常的语法变更为 “except Exception as var:”。

在 Python 3.x 版本中,处理异常用 “raise Exception(args)”代替了“raise Exception,args”。

Python 3.x 版本中,取消了异常类的序列行为和 .message 属性。

有关 Python 2.x 版本和 Python 3.x 版本处理异常的示例代码如下所示:

#Python 2.x

>>> try:

... raise TypeError,"类型错误"

... except TypeError,err:

... print err.message

...

类型错误

#Python 3.x

>>> try:

... raise TypeError("类型错误")

... except TypeError as err:

... print(err)

...

类型错误

4、Python3和Python2的区别——Python 3.x 八进制字面量表示

在 Python 3.x 中,表示八进制字面量的方式只有一种,并且必须写成“0o1000”这样的方式,原来“01000”的方式不能使用了。举个例子:

#Python 2.x

>>> 0o1000

512

>>> 01000

512

#Python 3.x

>>> 01000

File "", line 1

01000

^

SyntaxError: invalid token

>>> 0o1000

512

5、Python3和Python2的区别——Python 3.x 不等于运算符

Python 2.x 中的不等于运算符有 2 种写法,分别为 != 和 <>,但在 Python 3.x 中去掉了 <>,只有 != 这一种写法,例如:

#Python 2.x

>>> 1!=2

True

>>> 1<>2

True

#Python 3.x

>>> 1!=2

True

>>> 1<>2

File "", line 1

1<>2

^

SyntaxError: invalid syntax

6、Python3和Python2的区别——Python 3.x 数据类型

Python 3.x 中对数据类型也做了改动,比如说:

Python 3.x 去除了 long 类型,现在只有一种整形 int,但它的行为就像是 Python 2.x 版本中的 long。

Python 3.x 新增了 bytes 类型,对应 Python 2.x 版本的八位串,定义 bytes 字面量的方法如下所示:

>>>b=b'China'

>>>type(b)

字符串对象和 bytes 对象可以使用 .encode() 或者 .decode()方法相互转化,例如:

>>>s=b.decode()

>>>s

'China'

>>>b1=s.encode()

>>>b1

b'China'

Python 3.x 中,字典的 keys()、items() 和 values() 方法用返回迭代器,且之前的 iterkeys() 等函数都被废弃。同时去掉的还有 dict.has_key(),改为用 in 替代。

以上就是有关于Python3和Python2的区别的全部内容,小编希望大家所学的python知识可以用在自己的工作领域中,毕竟作为一个应用类的技能,最终还是要应用在实际领域中才能发挥它的作用,环球网校的小编在这里祝大家学有所成,并彻底掌握python的使用方法。

展开剩余
资料下载
历年真题
精选课程
老师直播

注册电脑版

版权所有©环球网校All Rights Reserved