對於初學者應該選擇python什麼版本呢?

作為初學者,幾乎沒有基礎,python簡明教程使用的是2.4.3,而最新的3x新手方面的教程幾乎很少。

我應該如何選擇呢?


先看看你必須要用的庫支不支持3,如果支持,直接上py3:Python教程

如果只支持py2,那就只能py2:Python 2.7教程


除非你仍然要維護老版本代碼,否則現在學習Python的底線是2.6。不能再低於這個版本了。

Python簡明教程就不是本好教材吧…Learning Python和Python Programming是以2.6為主,附帶3.X的,可以參考

P.S. 加一個鏈接:如何寫向上兼容的Python代碼 http://lucumr.pocoo.org/2011/1/22/forwards-compatible-python/


謝邀。現在是2014年,直接從3開始學吧。大部分還活著的庫都支持3了。如果在使用過程中發現自己總是見到2的代碼再去學2也不遲。Archlinux已經從很早開始用3作為默認版本了,用了大半年,沒遇到什麼大問題(遇到的小問題全忘了)。


應該2.7和3.x同時學,學習的方法是先學2.7,然後對照3.x改進的部分了解3.x改進了的地方

原因:因為現在很多庫都只支持2.x,而2.x最新的版本就是2.7.3,學習這個可以方便看懂目前已有的代碼和維護好已有代碼。

3.x是未來


選擇python3.x 原因如下:

我是今年一月份開始入門python的,選擇了python3。在那個時候,python3的書籍真的很少,我用的是《python學習手冊》(第四版)。很厚的一本書,可以用來入門python3。不過我前一段時間看到第五版的英文版已經有了,so,等第五版也可以。這本書的缺點就是太厚,優點就是很基礎、但是也太基礎了。

入門這就夠了,學會語法,就來用吧。

關於python3本身對於python2的語言優勢,python3官方會給出的。

然後在於如何提高,這個過程其實與版本無關的。

建議做python challenge。我的python登堂是靠它,做完之後,h還可以看到別人的代碼,包括3.x的代碼。遇到問題現在在網上一搜都可以找到解決辦法。雖然國內還是2.x的多,但是google時,SO上大家問的東西都會搜到,基本都能看懂的。

在之後,現在的所有不限制語言的環境我都在用python3。更何況,還有官方文檔幫助你。

關於選擇3,還有一些理由。

眾所周知,python的版本升級很快,但是業界跟進很慢,當年升級2的時候、現在升級3也花了好久,直到現在,才能夠說,pythoner真正進入了py3k的時代。首先表現在一些在2.x的時代常用的python庫如scipy、numpy等都支持python3了(這個比較早);而最近,python知名框架中最為保守的Django也正式支持py3k(Django的意義我不用多說)。還有什麼理由不遷移呢?

最後,為了解決python3庫的不全的問題,我貼出我找到的一個網站:http://www.lfd.uci.edu/~gohlke/pythonlibs 看它的名字你就知道這對於python3的使用者們有多麼重要

Unofficial Windows Binaries for Python Extension Packages


不建議初學者一上來就用Python3.x,即使Python3有些東西方便,即使你後期需要的庫都支持3,但是你身為初學者,無編程經驗,那麼什麼版本流行你就應該用什麼版本,如今無疑還是Python2.7.x。

因為你沒有編程基礎,最重要的目的就是學,而不是用,這就是為什麼我無基礎先學Python這類高級語言後得出一個結論,如果你的時間充裕,對編程有足夠興趣,那麼你就老老實實用枯燥但底層的C。學的過程中你肯定需要讀大量源碼,最好把標準庫,流行的第三方庫源碼讀一遍,然後逐個解決編程中出現的大量問題,而這些問題的答案,各種論壇上的交流,屬Python2.7最多。對於有編程基礎,或者有Python基礎的人,有些陷阱一眼就分能看出來。對於毫無基礎的人,導致一些莫名其妙的錯誤,然後一小段代碼找來找去,搞半天也找不出原因,原來是把版本搞混了。


我跟著head first python學的,3.3開始。其實多谷歌百度,或者英語好看看文檔就行了,一些小改動無傷大雅的。並且3.x是未來主流。


當然是3了。

理由:

3相對於2有很多改進,特別是字元編碼方面。

不少Linux發行版已經默認使用Python3,很多都正在遷移到Python3。

大部分Python庫都已經支持Python3了。

如果非要使用Python2的庫,會了3學會2很簡單。

另外提個中二一點理由:

作為Python的使用者與愛好者,有必要為Python的發展做一點貢獻。


python2.7

找工作對口


當然是python3呀,你把3學會了,2也基本會了,一舉兩得呀,運用什麼庫之類的都是其次的。


從實際使用的角度來講,我準備用django+python3+fcgi來做一個簡單的網站,查了下網上的資料,大型的知名的網站,如pinterest,disqus,instagram,bitbucket這些因為開發的比較早,應該是用的python2.7或者2.6 + django開發的,但是這些網站開發本身似乎沒有用到各種python2與3之間插件不兼容的部分,或者說這些網站開發時,最主要的精力還是花在了用python自己寫app上,對於外界插件的依賴並不大。所以,這就是在開發網站時,大量的問題是關於網站的整體架構(資料庫、後台語言、雲伺服器),而非django本身與哪一版本的python結合。

這裡的鏈接有關於python2和3的異同Python2orPython3,但是並沒有給出很好的答案,各種網上的問題都有涉及兩者,但是對於django應該使用哪一個都沒有定論,也就是說大家還沒有遇到過真正有問題出現的時候,所以我寧願理解為,python3.3不會出什麼問題。

====

補充:如果在一個沒法自主設置的環境下,比如bluehost的共享主機這樣的環境下,如果要使用django,則必須使用flup以配合fcgi,可惜flup用的是python2.x版本的語法寫的,雖然原則上講可以改動代碼,使得編譯通過,但是明顯直接使用python2.7則可避免這些時間花銷。


3和2差的也不是太多,學3吧,最好還帶2對照的那種


學2.7的


用2.7的吧。 供選擇的庫很多


Learn Python the hard way裡面說:「A programmer may try to get you to install Python 3 and learn that. Say, "When all of the Python code on your computer is Python 3, then I"ll try to learn it." That should keep them busy for about 10 years.」

所以,先從Python 2.6學起是可以的。


也要看你學來做什麼。

如果是以學習為目的,可以直接從3.3開始學起。

如果在實際工作或者項目中使用,建議還是從2.7使用。

畢竟很多第3方的庫還沒有跟進。

同時對於教材而言,最好使用較新的教材,因為腳本語言的變化還是比較大的,因為它本身就屬於易於演變的。使用太舊的教材,很多東西跟不上,建議不要看那本書,找比較新的。


推薦閱讀:

雲伺服器上如何運行python程序?
為什麼Python第三方庫的document看起來很統一?
Python現在用3.X的好不好?2.X我在win10打開不了IDLE又是什麼問題?
Python訪問網頁報錯,ValueError: unknown url type,求問什麼原因?

TAG:Python | Python3x | Python入門 |