騰訊大佬3個月快速學會Python,「學習步驟+採坑預警」送給你!

騰訊大佬3個月快速學會Python,「學習步驟+採坑預警」送給你!

可能你是一個Python新手,看了很多學習方法,但是效率還是很低。今天我們來分享一篇文章,關於如何提升Python學習效率,3個月內學會Python,它給出了絕佳答案,希望對你有所啟發。

當然小編還是有學習資料給大家的,關注,轉發,私信小編“01”即可獲取!

騰訊大佬3個月快速學會Python,「學習步驟+採坑預警」送給你!


要避免的學習錯誤

在你的編程生涯中有一個技能比其他更重要。

它就是,高效學習的能力。

如果你掌握了這個本領,必將前程似錦,而且受到他人的敬仰。

如John Sonmez所說, 至少有5種我們犯的錯誤會影響高效學習。我完全同意他的看法。他們是:

1、一本書從頭看到底,一頁不漏

這樣不好因為我們只會記住我們讀過的一小部分而且大部分書內容太寬泛以至於不值得一頁不漏地讀。當你剛開始學習時,學一些不會馬上用的概念是時間和精力的極大浪費。

可以花時間那樣做,但不是剛開始的時候。 相反,你應該把精力放在當前需要學習的部分,而忽略其他部分。

騰訊大佬3個月快速學會Python,「學習步驟+採坑預警」送給你!


2、沒有計劃地學習

這方面我是一個慣犯。有時候我會因為一個新技術而變得很興奮,接著馬上投入進去,開始使用它,買很多書,讀,讀,讀,用,用,用, 看一些相關的視頻,訂閱一些博客和新聞通訊,讀的更多,用的更多 ,最後我還是原地打轉,沒有什麼大的進步。

這很糟糕。雖然我樂在其中,但是我卻從未因此這樣變成一個專家。

3、未能縮小範圍

有清晰的界限能讓我們容易決定一個新的資源是否值得你花時間。 這就是為什麼學習Python的最好的途徑是試著用它開發些東西。

為了完成一個任務,你會明白Python哪些部分是你不需要了解的,你會發現開始你把範圍縮的越小,學到的就越多而且進步越快。

4、試著同時學兩樣(或更多)的東西

如果你是因為對Django 網頁應用開發感興趣而學習Python,那麼很可能你在犯這個錯誤。

你這裡學點Python,那裡學點Django,再學點Python,然後再學點Django. 本質上你就是我們特立尼達人喜歡說的“陀羅泥”,即轉動了很多次,但是實際上沒前進。

5、在實踐之前投入太多時間學習

因為我們害怕失敗。我們想在嘗試之前搞清楚我們在做什麼。所以我們在付諸行動之前會花很多時間學習。過去我就是這樣。

具有諷刺意味的是我開始知道的越多,意識到自己不知道的也就越多,從而又想學更多。這使我更害怕嘗試做些事情因為我知道我會做的狗屎一樣。誰會想寫狗屎一樣的代碼呢? 我們都想寫優美的規範的Python代碼。不要像我這樣。不用等準備好了再開始。

如果你喜歡閱讀上面說的,想學習更多,那麼我會感覺很開心, 不過我還沒有引導你到智慧之源。

看看John Sonmez寫的“軟件開發者犯的5種學習錯誤”。 可能我匆忙地拙劣地總結了他的看法,但還是務必看看他寫的更有意思的趣聞和更深刻的見解。

我的建議

步驟1:熟悉Python

Python社區很棒的一面是它持續關注具備好的文檔。 它是免費而且優秀的。馬上把它好好利用起來吧。

所以熟悉Python的第一步是安裝Python, 然後留幾個小時的時間快速過一遍Python教程。

我該學習Python 2還是Python 3? 最近有一場關於這個的激烈討論,不過簡短的答案是“學Python 3”

然後,讀下“Python之禪”,它可以幫助你建立寫Python代碼需要具備的思維模式。

祝賀,你現在有足夠的Python知識寫第一個應用程序了。

步驟2: 編寫你的第一個程序

想一個應用,然後把它用Python寫下來。

如果Python不是你的第一門語言,那麼我確信你用其他語言寫的程序可以植入到Python中。 如果不管怎樣你確實想寫一個全新的應用,那就去做吧。但是我仍然想說嘗試寫些可以在數天(我的第一個程序花了我4天時間)或最多一週內完成的程序。這時候你只是在試著找到這個語言的感覺。

我開發的第一個應用程序是Whitespace解析器,最初我用Racket實現的,然後是Ruby,後來是Haskell,現在是Python。

你可能會說,那是我掌握了語言的要點後開發的程序,我同意。因為我不再花時間努力研究這門語言而是努力研究具體的應用。

我不得不再強調一下,現在的重點是學會用這門語言思考,所以儘量保持程序簡單這樣注意力放在語言的使用上。

顯然,我並不知道用Python實現這個項目所需要做的每一件事情該怎麼做。但這就是這次實踐的主題,當你只學你實現特性需要的知識時,應用程序會引導你下一步該學什麼。 以後你可以經常回過頭來學更多。

比如,當我實現一個虛擬機時,我知道我需要一個全面的測試套件,但是教程裡面卻沒有相關的介紹。儘管如此,通過快速搜索,我找到了一個關於Python 單元測試框架的優秀文檔。我看了下我寫測試用例需要用到的部分,然後就開始做了。遇到任何問題再回來看文檔。

注: 在用這些單元測試做過幾個項目後,我決定要好好學習下這個框架。所以我坐下來從頭到尾把文檔閱讀了一遍。但我是以後才投入這個時間因為我知道我的項目中會經常會用到它。聰明點,照著做。

我傾向於漸進式開發,所以如果你看這個項目的提交記錄,你會看到我怎麼建立這個項目,分解問題並最終完成了它的第一個版本。記住, 有始有終。

步驟3:多學一點Python

萬歲! 你已經完成你的一個Python應用程序。

現在我建議你再多花點時間學習下這個語言,Python功能很齊全,意味著它有一個巨大而且很棒的標準庫。當你實現你的應用程序的時候你可能已經匆匆翻閱了下文檔,不錯,我知道我是那樣做的。再多學一點。這裡是值得你學習的章節:1, 2, 3, 4, 5, 6.1, 6.2, 26.4 和 27.3.

其他部分繼續瀏覽下即可。

你不需要Python淵博的知識,只要大概瞭解Python有什麼功能。

當你需要一些沒有涉足過的知識(或將來你計劃花時間去探索)的時候,再多投入些時間在其他部分才是明智的

通過找機會重構你的應用或增加更多的功能把新學到的知識運用到實踐中。

步驟4: 開發,開發和開發更多的程序

不管你信不信,你現在知道的python知識足夠開發任何你想要的東西。

記住重要的不是語言而是你用語言做什麼(除非你是研究編程語言理論,編譯器設計等之類的東西)。

如果你有相關的專業知識,比如在數學,物理,經濟和生物學領域,那麼你可以把Python作為你的秘密武器去做一些很棒的事情進而推動那些領域的發展。

如果你想不出要開發什麼東西,那麼你可以到Python部落(python.freelycode.com)上去找一個課程學習一下,他家的課程都是以項目為主體的,在講項目的過程中給你傳授知識,很有實踐性.

步驟5:拓寬自己的視野

你能回想起第5種學習錯誤嗎?如果不能,再去讀一下,我可以等一下。

保持平靜。

好,如果你按照這些步驟來做,那麼你肯定先做再去學習。這樣很棒。

但是,你肯定有知識漏洞。

為什麼?

你不知道你不懂什麼。

你永遠不可能嘗試用一個你從來不知道存在的想法、概念或工具。

這是主動尋求更高級知識的時候。你完成了很多真實的應用,而且可能有很多問題。這樣很好。

這兩個不錯的資源可以滿足你的求知慾:

1. 流暢的Python(http://shop.oreilly.com/product/0636920032519.do)

2. 高效的Python(http://www.effectivepython.com/)

獎勵

我沒找到辦法能把更多的建議和提醒恰當地融入到這篇文章。

1. 我不得不強調Python文檔的質量。

我已經說過文檔Python教程和Python標準庫,但是很少聽人談論過Python語言參考這個文檔。 當我寫Ruby忘記了一個結構體的語法和語義時我完全忽視了這樣的文檔,擁有這些信息的權威資源可以讓你有信心地編寫程序,比如如果你忘記了if語句的語法,你可以查閱這個文檔,其中"The if statement"部分有詳細解釋,而不用去Stack Overflow上提問。

2.閱讀PEP8。

如果你已經寫了大量的Python, Raymond Hettinger 做了一個很棒的題為Beyond PEP8的演示(同樣)值得仔細看看。

3.從一開始就養成寫好文檔的習慣。

Docstring Conventions是一個學習你應該遵守的約定的好資源。

騰訊大佬3個月快速學會Python,「學習步驟+採坑預警」送給你!


4.讀其他人的代碼。

我建議從Kenneth Reitz的代碼開始。比如你可以看看tablib,你也可以從你用過的和聽過受歡迎的庫裡面找到其他資源。閱讀代碼是有益的,因為它讓你看到其他人是怎麼使用自動散佈型的Python。

結束語

成為一個Python程序員專家需要花數年時間,但是打下堅實的基礎只要幾周就可以。如果你按照我的建議有意識地去實踐,你就可能會成功。

祝你好運。


分享到:


相關文章: