這是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同學。不管你學習的出發點是興趣驅動、拓展思維,還是工作需要、想要轉行,都可以此文作爲一個參考。
在這個信息爆炸的時代,以 “Python入門” 爲關鍵字搜索出的結果成千上萬。不少小白選手難免會東一榔頭西一棒槌,最終花了很多時間,也沒跨過新手那道門檻。
結合自身的學習經驗以及與很多自學者的溝通了解,我們整理出一條可操作性較強的自學路線,同時收集了多種形式的 Python 優質學習資源,供諸位尚未入門或剛入門不久的同學參考。
我是一名python開發工程師,整理了一套python的學習資料,從基礎的python腳本到web開發、爬蟲、
數據分析、數據可視化、機器學習、面試真題等。想要的可以進羣:688244617免費領取
0. 心態準備
編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後肯定付出了長時間的反覆練習。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字符。收拾好自己的心態,向着編程的世界出發。
1. 入門階段
第一步至關重要,是關係到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,並堅持下去。
1.1 配置 Python 學習環境
Python2 還是 Python3?
這應該是不用糾結的一點,Python3畢竟是未來的趨勢
編輯器該如何選?
我推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好。並且還是完全免費的!
其他可以嘗試的編輯器:
- idle: Python 自帶編輯器。如果只是想盡快寫出幾行代碼來,這是最簡便的方式。vs code: Visual Studio Code - Code Editing. Redefinedatom: A hackable text editor for the 21st CenturySublimeText: Sublime Text - Downloadnotepad++: Notepad++ Home
爲了讓初學者集中更多的精力在寫代碼這件事情上,所以我們就不推薦 vim 和 Emacs 了。
操作系統?
Python 支持現有所有主流操作平臺,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。並且後兩者都默認自帶 Python 環境。
1.2 入門教程
《Crossin的編程教室 - Python 入門》
自認爲算得上是最淺顯易懂的入門教程,很適合沒有任何編程基礎的人上手。74篇圖文教程,從最簡單的 Python 安裝到基本語法、數據結構、函數、文件操作、網絡請求、面向對象等逐步深入。
對於如何加深對一個知識點的印象,最好的辦法就是自己寫代碼實現一遍。如果還是不懂,那就再來一遍。所以無論你使用什麼教程,都請將其中的示例代碼全部在電腦上輸入並運行,learning by doing!
配套練習
Crossin的編程教室 - 基礎練習
課外練習《笨辦法學Python》
這是本很有名的 Python 書籍,但並不適合純零基礎自學。因爲其中重實踐但不解釋,新手很容易看得一頭霧水。作爲學習同時的輔助倒更合適。
其他推薦教程
《簡明 Python 教程》
這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。適合有過其他語言基礎的人快速瞭解 Python 語法。
以上是我推薦的學習材料,主要偏重沒有太多編程基礎的純新手。
2. 提升階段
完成入門階段的基礎學習之後,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是練習,大量的練習。
可以從書上的例程開始寫,再寫小程序片段,然後寫完整的項目。
我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是到處淺嘗輒止。
- hackerrank Python 部分難度循序漸進,符合學習曲線
https://www.hackerrank.com/domains/python/py-introduction
- codewar 社區型編程練習網站,內容由易到難
https://www.codewars.com/?language=python
- leetcode 爲編程面試準備,對初學者稍難
LeetCode
- 牛客網 提供 BAT 等大廠筆試題目
牛客網-專業IT筆試面試備考平臺,最全C++JAVA前端求職題庫,全面提升IT編程能力
- codecombat 一邊遊戲一邊編程
CodeCombat中國 - 中國愛好者的 CodeCombat!在遊戲中學習編程
- projecteuler 純粹的編程練習網站
https://projecteuler.net/archives
3. 遇到問題怎麼辦?
學習的過程中或多或少都會有各種問題出現,不要試着逃避,真的勇士敢於直面慘淡的 BUG。
第一步肯定是利用好搜索引擎,怎麼用也是一門技術活:
編程初學者如何使用搜索引擎
第二步,求助於各大同性交友網站(大霧):
StackOverflow
http://stackoverflow.com/
v2ex
https://www.v2ex.com/
segmentfault
https://segmentfault.com/
4. 寫在最後
經過第一步和第二步訓練,相信一般的小程序都難不倒你了,你已經在編程的世界裏已經邁出了關鍵的一步。接下來就可以去挑戰具體的項目了,爬蟲、web開發、數據分析、機器學習等等豐富的世界已經向你敞開,選擇一個方向重新出發吧!
記住:在編程的道路上,沒有捷徑。