Python2 還是 Python3 ?
py2.7是2.x系列的最后一個版本,已經停止開發,不再增加新功能。2020年終止支持。
所有的最新的標準庫的更新改進,只會在3.x的版本里出現。
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哪個版本新的詳細內容,更多請關注Gxl網其它相關文章!
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:php中文網
TAG標簽:Python