1. 程式人生 > >Python 2.x 與3.x的版本區別介紹

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來執行。

重要的區別資訊提取

如下,可能會被面試或者筆試問到,也是好記好回答的區別:

  1. print函式改變,3.x之後都是使用print()函式(緊跟著print帶括號),已經沒有了2.x的print語句

  2. 不等號的改變:Python 2.x中不等於有兩種寫法 != 和 <>

Python 3.x中去掉了<>, 只有!=一種寫法。

  1. 除法的改變:Python中的除法有兩個運算子,/ 和 // 。

首先來說 / 除法:在python 2.x中/除法就跟我們熟悉的大多數語言,比如Java/C差不多,整數相除的結果是一個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到一個浮點數的結果。在python 3.x中 / 除法不再這麼做了,對於整數之間的相除,結果也是浮點數。

其次就是 // 除法,這種除法叫做floor除法(向下取整),會對除法的結果自動進行一個floor操作,在python 2.x和python 3.x中是一致的。意思就是 1//2 = 0.5 à 0 , 得到0

  1. Xrange函式去除:去除2.X的Xrange()函式定義,3.x中range()函式與其有同等含義

  2. 去除Long資料型別:Py3.X去除了long型別,現在只有一種整型——int,但它的行為就像2.X版本的long,新增了bytes型別,對應於2.X版本的八位串,定義一個bytes字面量的方法如下:

  3. 一些內建函式(如map,reduce,filter)的改變(不懂可以先記著,等待熟悉了就知道區別了)

後面我會不定期傳送一些學習Python語言的電子文件給大家,希望大家喜歡!