首頁  >  文章  >  後端開發  >  python有什麼版本

python有什麼版本

silencement
silencement原創
2019-05-21 17:51:1720035瀏覽

python有什麼版本

目前python的主流版本有python2和python3。 python2預計在2020年停止維修。初學者建議直接學習python3。

接下來要說Python2與Python3的差異。

基本語法差異

核心類別差異

1、Python3對Unicode字元的原生支援

Python2中使用ASCII 碼作為預設編碼方式導致string有兩種類型str和unicode,Python3只支援unicode的string。 python2和python3位元組和字元對應關係為:

2、Python3採用的是絕對路徑的方式進行import。

Python2中相對路徑的import會導致標準庫導入變得困難(想像一下,同一目錄下有file.py,如何同時導入這個文件和標準庫file)。 Python3中這一點將會被修改,如果還需要匯入同一目錄的檔案必須使用絕對路徑,否則只能使用相關導入的方式來進行導入。

3、Python2中存在老式類別和新式類別的區別,Python3統一採用新式類別。新式類別宣告要求繼承object,必須用新式類別應用多重繼承。

4、Python3使用更嚴格的縮排。 Python2的縮排機制中,1個tab和8個space是等價的,所以在縮排中可以同時允許tab和space在程式碼中共存。這種等價機制會導致部分IDE使用有問題。 Python3中1個tab只能找另外一個tab替代,因此tab和space共存會導致報錯:TabError: inconsistent use of tabs and spaces in indentation.

廢棄類別差異

1、print語句被python3廢棄,統一使用print函數

2、exec語句被python3廢棄,統一使用exec函數

3、execfile語句被Python3廢棄,建議使用exec(open("./filename").read())

4、不相等運算子"<>"被Python3廢棄,統一使用"!="

#5、long整數型別被Python3廢棄,統一使用int

#6、xrange函數被Python3廢棄,統一使用range,Python3中range的機制也進行修改並提高了大數據集生成效率

7、Python3中這些方法再不再回傳list物件:dictionary關聯的keys()、values()、items(),zip(),map(),filter(),但可以透過list強行轉換

#8、迭代器iterator的next()函數被Python3廢棄,統一使用next(iterator)

9、raw_input函數被Python3廢棄,統一使用input函數

#10、字典變數的has_key函數被Python廢棄,統一使用in關鍵字

11、file函數被Python3廢棄,統一使用open來處理文件,可以透過io.IOBase檢查文件類型

#12、apply函數被Python3廢棄

13、異常StandardError 被Python3廢棄,統一使用Exception

相關學習推薦:python教學

以上是python有什麼版本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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