2019年python學3還是2

z_paul發表於2021-09-11

2019年python學3還是2

在過去幾年,在程式設計社群裡有大量關於到底哪一個python版本才是最值得去學的討論:是python2還是python3(特別是python2.7與python3.5)。進入2019年,很顯然python3已經是贏家,深受大量初學者的歡迎。在這裡小編帶你看看python2與python3之間的一些主要詫異?

Python2和Python3的發展歷史

先從一個簡短的python釋出時間軸開始:

·2000年 Python2.0釋出

·2008年 Python3.0釋出

·2010年 Python2.7釋出

·2019年3月4日 Python2.7.15 (最新版本)

·2019年3月25日 Python3.7.3 (最新版本)

·儘管Python2.7仍然廣泛使用,但是Python3的應用正在迅速增長。在2016年有71.9%的專案使用Python2.7, 但是到了2017年它降到63.7%。這表明程式設計社群正在轉向Python3。

·值得注意的是,Python2將在2020年元旦正式停止官方支援。

·從過去的2018年更新頻率看,Python3釋出了從3.5.5到3.7.2近10個版本,而Python2 只更新了2.7.15一個版本。

相關推薦:《》

Python2和Python3主要差異

在程式設計風格上Python2和Python3有大量差異,這裡列舉五個重要方面說明:

(1)Python2是過去,Python3是未來由於在過去10幾年時間裡Python2是最受歡迎的版本,所以在大部分軟體公司中仍然大量存在。但是由於越來越多公司開始從Python2遷移到3,因此初學者可能希望避免花時間在一個已經過時的版本上。

(2)Python2和Python3有一些互相不相容的庫由於Python3代表未來,如今很多開發人員嚴格用Python3開發一些庫,許多老的基於Python2的老開發包是不向前相容的。你可以將2.x庫移植到3.x,但這對於初學者來說可能是比較困難和複雜的。

(3)Python3有更好的Unicode編碼支援在Python3語法中,預設情況下文字字串是Unicode, 在Python2中,字串預設儲存為ASCII, 如果要在Python2.X中將字串儲存為Unicode, 則必須加"u"。

str = "中國" # python3寫法
str = u"中國" # python2寫法

這一個變化十分重要,因為Unicode比ASCII更加通用,Unicode字串可以儲存外語字母、羅馬數字和數字、符號和標籤符號等,可以為你提供更多的選擇。

(4)Python3改進了整數除法在Python2中,如果你在小數點後面寫一個沒有任何數的數字,它會將你的計算向下舍入到最接近的整數。例如,如果你要計算5除以2,深入5/2,則由於四捨五入,結果將為2,你必須把他寫成5.0/2.0才能得到預期2.5的答案。但是,在Python3中,表示式5/2得到2.5的預期結果,不必要擔心四捨五入的問題。

print(5/2) # 輸出2, Python2
print(5.0/2.0) # 輸出2.5, Python2
print(5/2) # 輸出2.5, Python3
print(5.0/2.0) # 輸出2.5, Python3

(5)兩個版本有不同的列印語句宣告語法這只是一種語法差異,有些人可能認為它很簡單,所以不會影響Python的功能,也就是說,你應該知道它仍然是一個巨大明顯的差異。本質上說,Python3中,print語句已經被print()替代。如果你第一次程式設計這對你影響不大,如果你之前一直是Python2, 這可能在一段時間裡會很不習慣。

print "hello world" # Python2列印方法
print("hello world") # Python3列印方法

為什麼很多公司向python3遷移

正如前面講的,由於遺留原因,大多數公司仍在使用Python2, 但是越來越多的公司正在使用Python3, 或者開始從2到3進行切換。接下來從Instagram為什麼Python2從遷移到3來說明。

每個較新版本的Python都在持續最佳化來獲得更快的執行時間。 但是,沒有人正在努力使Python2.7更快地執行。

作為一個初學者,我該如何選擇

這其實是一個很簡單的問題,學習最新的版本就可以(3.7), Python3中的一些改進實際上使初學者更容易理解,因此這是初學者學習Python的最佳方式。請記住,2020年之後將不再支援Python2.7,因此在這一點上專心致力於學習它對大多數人來說都沒有意義。

什麼時候學習python2有意義?

以下是你可能需要了解Python2的一些情況:

如果你想成為DevOps工程師並使用Fabric或Ansible等配置管理工具,你可能必須同時使用Python2和3(因為這些庫的某些部分沒有完整的Python3支援)。

如果您的公司擁有用Python 2編寫的遺留程式碼,那麼你需要學會使用它。

如果您的專案依賴於某些無法移植到Python3的第三方軟體或庫,你將別無選擇,只能使用Python2。

幸運的是,無論你從哪個版本開始,如果需要,將你的知識轉移到另一個版本將相當容易。

總結

Python3是明顯的贏家。 由於Python2將在2020年逐步淘汰,因此大規模採用Python3是明確的未來發展方向。對於初學者來說,從Python開始 - 特別是Python3 - 是快速學習程式設計的好方法。 它是一種多樣化和直觀的語言。此外,Python也是人工智慧領域最受歡迎的開發語言,因此如果你學習Python3,你可能會發現你的職業前景比以往更加光明。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2836162/,如需轉載,請註明出處,否則將追究法律責任。

相關文章