Python 2.x 与3.x的版本区别介绍

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来执行。

重要的区别信息提取

如下,可能会被面试或者笔试问到,也是好记好回答的区别:

  1. print函数改变,3.x之后都是使用print()函数(紧跟着print带括号),已经没有了2.x的print语句

  2. 不等号的改变:Python 2.x中不等于有两种写法 != 和 <>

Python 3.x中去掉了<>, 只有!=一种写法。

  1. 除法的改变:Python中的除法有两个运算符,/ 和 // 。

首先来说 / 除法:在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java/C差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python 3.x中 / 除法不再这么做了,对于整数之间的相除,结果也是浮点数。

其次就是 // 除法,这种除法叫做floor除法(向下取整),会对除法的结果自动进行一个floor操作,在python 2.x和python 3.x中是一致的。意思就是 1//2 = 0.5 à 0 , 得到0

  1. Xrange函数去除:去除2.X的Xrange()函数定义,3.x中range()函数与其有同等含义

  2. 去除Long数据类型:Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long,新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:

  3. 一些内置函数(如map,reduce,filter)的改变(不懂可以先记着,等待熟悉了就知道区别了)

后面我会不定期发送一些学习Python语言的电子文档给大家,希望大家喜欢!

猜你喜欢

转载自blog.csdn.net/Harpoon_fly/article/details/83757825