欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

python2和python3哪个版本新

程序员文章站 2022-03-30 12:41:09
...
Python2 还是 Python3 ?

py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。

所有的最新的标准库的更新改进,只会在3.x的版本里出现。

python2和python3哪个版本新

Python3.0在2008年就发布出来,而2.7作为2.X的最终版本并继续维护。

Guido van Rossum的想法是不在对2.7版本进行向后兼容。

Python3.x最显着的改进是更好的Unicode支持,所有文本字符串默认为Unicode。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。

从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。

py3比py2更规范统一、去掉了没必要的关键字。

Python3.x还在持续改进。

Python3.x的主要变化

编码方式和性能

运行效率更快

默认源文件编码ASCII变为UTF-8,以前文件前加入的coding=utf-8不再需要

针对unicode的处理有了明显的改善,效率明显提升

数据类型和基本运算

int和long进行了统一,统一为int

True、False、None都是关键词

必须以b'...'表示二进制数据,可以使用u'..'表示字符串,不加u也表示字符串

移除<>不等号,使用“!=”表示不等号关系

调整除法符号‘/’的用法,只返回浮点数,要返回整数要使用“//”

具有单一的str类型,其类型相当于2.x的unicode,3.x所有的字符串都是unicode

range和dict的变化

在2.x中,range相比xrange会创建一个列表。常出现在for循环、字典、列表中,但是3.x中xrange改名为range,在3.x中使用用xrange会触发错误。同时range返回的是可迭代对象而不再是列表形式,要想使range的结果得到一个list数据必须要使用list(range(5))

dict.iterkeys(), dict.itervalues(), dict.iteritems()被keys() and values() and items()所替代他们的返回结果类似于集的可迭代对象,而不是键值对的列表。从而在不进行键和值条目复制的情况下就能对其执行set操作

迭代器

range在python3中返回颗迭代对象二不是列表,最大限度节约内存

zip(),map(),filter(),key(),value()返回的均是可迭代对象

以上就是python2和python3哪个版本新的详细内容,更多请关注其它相关文章!

相关标签: Python