首頁  >  文章  >  後端開發  >  python2和python3哪個版本新

python2和python3哪個版本新

anonymity
anonymity原創
2019-06-11 15:10:122368瀏覽

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哪個版本新的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn