Python 2.x 與3.x的版本區別介紹
Python因其開源與其語言簡潔優美等優點,受到很多人的喜愛與使用,所以Python的更新換代也很快,這裡就簡單介紹一下2.x 與3.x的版本區別,這些資訊在官網上也都是可以找到的,因為就是官網更改,我們使用的,對於這個資訊我們都是傳遞者。
Python 2.x 與3.x的版本區別介紹
Python的3.0版本,常被稱為Python 3000,或簡稱Py3k。相對於Python的早期版本,這是一個較大的升級。
為了不帶入過多的累贅,Python 3.0在設計的時候沒有考慮向下相容。
許多針對早期Python版本設計的程式都無法在Python 3.0上正常執行。
為了照顧現有程式,Python 2.6作為一個過渡版本,基本使用了Python 2.x的語法和庫,同時考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語法與函式。
新的Python程式建議使用Python 3.0版本的語法。
除非執行環境無法安裝Python 3.0或者程式本身使用了不支援Python 3.0的第三方庫。目前不支援Python 3.0的第三方庫有Twisted, py2exe, PIL等。
大多數第三方庫都正在努力地相容Python 3.0版本。即使無法立即使用Python 3.0,也建議編寫相容Python 3.0版本的程式,然後使用Python 2.6, Python 2.7來執行。
重要的區別資訊提取
如下,可能會被面試或者筆試問到,也是好記好回答的區別:
-
print函式改變,3.x之後都是使用print()函式(緊跟著print帶括號),已經沒有了2.x的print語句
-
不等號的改變:Python 2.x中不等於有兩種寫法 != 和 <>
Python 3.x中去掉了<>, 只有!=一種寫法。
- 除法的改變:Python中的除法有兩個運算子,/ 和 // 。
首先來說 / 除法:在python 2.x中/除法就跟我們熟悉的大多數語言,比如Java/C差不多,整數相除的結果是一個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到一個浮點數的結果。在python 3.x中 / 除法不再這麼做了,對於整數之間的相除,結果也是浮點數。
其次就是 // 除法,這種除法叫做floor除法(向下取整),會對除法的結果自動進行一個floor操作,在python 2.x和python 3.x中是一致的。意思就是 1//2 = 0.5 à 0 , 得到0
-
Xrange函式去除:去除2.X的Xrange()函式定義,3.x中range()函式與其有同等含義
-
去除Long資料型別:Py3.X去除了long型別,現在只有一種整型——int,但它的行為就像2.X版本的long,新增了bytes型別,對應於2.X版本的八位串,定義一個bytes字面量的方法如下:
-
一些內建函式(如map,reduce,filter)的改變(不懂可以先記著,等待熟悉了就知道區別了)
後面我會不定期傳送一些學習Python語言的電子文件給大家,希望大家喜歡!