實(shí)時(shí)資訊 > 資訊詳情
初學(xué)者現(xiàn)在學(xué)習(xí)python2還是python3?
發(fā)布時(shí)間:2018-01-29 11:33:04

如果你是一個(gè)初學(xué)者,或者你以前接觸過其他的編程語言,你可能不知道,在開始學(xué)習(xí)Python開發(fā)的時(shí)候都會(huì)遇到一個(gè)比較讓人很頭疼的問題:版本問題!!是學(xué)習(xí)python2 還是學(xué)習(xí) python3 ?現(xiàn)在很多Python書籍中都在使用Python2版本做為教程示例,尤其是現(xiàn)在大多數(shù)第三方庫(kù)都沒有完全移植到python3版本,但是目前Python最新版本都3.6了。
Python有兩個(gè)版本,一個(gè)是2.x版,一個(gè)是3.x版,這兩個(gè)版本是不兼容的,因?yàn)楝F(xiàn)在Python正在朝著3.x版本進(jìn)化,在進(jìn)化過程中,大量的針對(duì)2.x版本的代碼要修改后才能運(yùn)行,所以,目前有許多第三方庫(kù)還暫時(shí)無法在3.x上使用。為了保證你的程序能用到大量的第三方庫(kù),我們?nèi)砸?.x版本為基礎(chǔ),確切地說,是2.7版本。特別是數(shù)據(jù)分析的很多庫(kù),還是在2.7的版本上。到底學(xué)習(xí)哪個(gè)版本呢?下面就來為大家分析一下:
其實(shí)python是linux上最常用的軟件之一,但是linux目前的版本大部分還是使用python2的,而且,在linux上依賴python2的程序更多一些,所以 Python3 要代替 python2 成為主流還需要幾年的時(shí)間。
當(dāng)初設(shè)計(jì) Python3 的目的是沒有代碼兼容的包袱的情況下改進(jìn) Python,但個(gè)人認(rèn)為改進(jìn)得還不夠大刀闊斧,沒有徹底改進(jìn)一些bug,還有不少的 wart 錯(cuò)過了改進(jìn)機(jī)會(huì),因此造成的語法不兼容的地方也沒最初設(shè)想的多。
人們幾年摸索慢慢下來,大部分的情況下可以直接寫 2/3 兼容的代碼,也有 six 這類的兼容層可用。
所以先學(xué) Python2 還是 Python3 都不是問題,或者說都是問題。
目前現(xiàn)狀是實(shí)際應(yīng)用中大部分暫不考慮 Python3,有的時(shí)候注意寫兼容 2/3 的代碼。用 Python2 為主的寫新代碼時(shí)要考慮以后遷移到 Python3 的可能性。
無論學(xué) Python2 還是 Python3,都需要注意另外一邊的不同點(diǎn):所幸就是這些不同點(diǎn)很容易掌握,只有一個(gè) unicode encoding 對(duì)較多人造成困擾(同時(shí)也是很多 web 相關(guān)庫(kù)移植的主要障礙,3.3 重新支持 u'',情況大大改善了)
學(xué)習(xí)python2 還是 python3 、使用python2 還是 python3 需要看具體情況而定。
最后建議:
1. 如果是你在企業(yè)中,需要用到python而學(xué)習(xí)python的話,那就要看企業(yè)的應(yīng)用python的版本進(jìn)行學(xué)習(xí);
2. 如果想要更多的成熟解決方案,最少的bug,最穩(wěn)定的應(yīng)用那就用python2 ;
3. 如果你是在讀大學(xué)的學(xué)生,那我建議你學(xué)習(xí)python3,等到畢業(yè)的時(shí)候或許python已經(jīng)成為了主流。