2014年11月,Python2.7将在2020年停止的消息发布,并且不会再发布2.8版本,建议用户尽量升级至3.4以,上版本,原因是Python在最初发布时,在某些设计上存在一些缺陷,比如Unicode(统一码、万国码、单一码)标准晚于Python出现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限,比如对中文支持不好.
Python3相对于Python早期的版本是一个较大的升级,Python3在设计时并未考虑向下兼容所以很多早起版本的Python程序无法在Python3上运行.为了照顾早期版本,推出了过渡版本2.6--基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0版本的迁移,允许使用部分3.0版本的语法与函数.
2010年继续推出了兼容版2.7,大量Python3的特性被反向迁移到了Python2.7,2.7相对2.6进步很多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群.
Python2.7是Python2系列的最后一个版本,已经停止开发,不再增加新功能,2020年将终止支持,所有的最新的标准库的更新改进,只会在3.x的版本里出现.Guido决定清理Python2.x ,并且不再兼容旧版本.最大的一个改变就是使用Unicode作为默认编码,Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了.
Python3相对于Python2更规范统一,并且还在持续改进.
Python3与Python2的对比差别(不断完善补充中..):
Python2 | Python3 |
源码重复,不规范 | 整合源码,更清晰简单优美 |
默认的编码是ascii, 解决方式:# -*- encoding:utf-8 -*- |
默认的编码是utf-8 |
long int print ‘abc‘ print(‘abc‘) |
无long
int print(‘abc‘) |
raw_input() input() 只能输入数字类型 |
input |
不等于有两种写法 != 和 <> | 去掉了<>, 只有!=一种写法 |