Python因其开源与其语言简洁优美等优点,受到很多人的喜爱与使用,所以Python的更新换代也很快,这里就简单介绍一下2.x 与3.x的版本区别,这些信息在官网上也都是可以找到的,因为就是官网更改,我们使用的,对于这个信息我们都是传递者。
Python 2.x 与3.x的版本区别介绍
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。
许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。
为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。
新的Python程式建议使用Python 3.0版本的语法。
除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。
大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。
重要的区别信息提取
如下,可能会被面试或者笔试问到,也是好记好回答的区别:
-
print函数改变,3.x之后都是使用print()函数(紧跟着print带括号),已经没有了2.x的print语句
-
不等号的改变:Python 2.x中不等于有两种写法 != 和 <>
Python 3.x中去掉了<>, 只有!=一种写法。
- 除法的改变:Python中的除法有两个运算符,/ 和 // 。
首先来说 / 除法:在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java/C差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python 3.x中 / 除法不再这么做了,对于整数之间的相除,结果也是浮点数。
其次就是 // 除法,这种除法叫做floor除法(向下取整),会对除法的结果自动进行一个floor操作,在python 2.x和python 3.x中是一致的。意思就是 1//2 = 0.5 à 0 , 得到0
-
Xrange函数去除:去除2.X的Xrange()函数定义,3.x中range()函数与其有同等含义
-
去除Long数据类型:Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long,新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:
-
一些内置函数(如map,reduce,filter)的改变(不懂可以先记着,等待熟悉了就知道区别了)
后面我会不定期发送一些学习Python语言的电子文档给大家,希望大家喜欢!