2 回答

TA貢獻1802條經(jīng)驗 獲得超5個贊
搜索一下便會發(fā)現(xiàn)python3 和 python2 是不兼容的,而且差異比較大,到底學習哪個版本呢?下面就來為大家分析一下:
其實python是linux上最常用的軟件之一,但是linux目前的版本大部分還是使用python2的,而且,在linux上依賴python2的程序更多一些,所以 Python3 要代替 python2 成為主流還需要幾年的時間。
當初設計 Python3 的目的是沒有代碼兼容的包袱的情況下改進 Python,但個人認為改進得還不夠大刀闊斧,沒有徹底改進一些bug,還有不少的 wart 錯過了改進機會,因此造成的語法不兼容的地方也沒最初設想的多。
人們幾年摸索慢慢下來,大部分的情況下可以直接寫 2/3 兼容的代碼,也有 six 這類的兼容層可用。
所以先學 Python2 還是 Python3 都不是問題,或者說都是問題。
目前現(xiàn)狀是實際應用中大部分暫不考慮 Python3,有的時候注意寫兼容 2/3 的代碼。用 Python2 為主的寫新代碼時要考慮以后遷移到 Python3 的可能性。
無
論學 Python2 還是 Python3,都需要注意另外一邊的不同點:所幸就是這些不同點很容易掌握,只有一個 unicode encoding
對較多人造成困擾(同時也是很多 web 相關庫移植的主要障礙,3.3 重新支持 u'',情況大大改善了)學習python2 還是
python3 、使用python2 還是 python3 需要看具體情況而定.
所以我建議:
1. 如果是你在企業(yè)中,需要用到python而學習python的話,那就要看企業(yè)的應用python的版本進行學習;
2. 如果想要更多的成熟解決方案,最少的bug,最穩(wěn)定的應用那就用python2 ;
3. 如果你是在讀大學的學生,那我建議你學習python3,等到畢業(yè)的時候或許python已經(jīng)成為了主流。

TA貢獻1829條經(jīng)驗 獲得超7個贊
python2和python3分別是python的兩個版本,python3作為一個升級版,許多針對早期Python版本設計的程式都無法在Python
3.0上正常執(zhí)行的。區(qū)別:
1、Python2 既可以使用帶小括號的方式,也可以使用一個空格來分隔打印內容,比如 print 'hi'
Python3 使用 print 必須要以小括號包括打印內容,比如 print('hi')
2、python2 range(1,10)返回列表,python3中返回迭代器,節(jié)約內存
3、python2中使用ascii編碼,python3中使用utf-8編碼
4、python2中unicode表示字符串序列,str表示字節(jié)序列
python3中str表示字符串序列,byte表示字節(jié)序列
5、python2中為正常顯示中文,引入coding聲明,python3中不需要
6、python2中是raw_input()函數(shù),python3中是input()函數(shù)
極光爬蟲,數(shù)據(jù)采集服務服務提供商,為您提供更快,更可靠的服務。
添加回答
舉報