給伸手黨的福利:Python 新手入門引導

這是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同窗。無論你學習的出發點是興趣驅動、拓展思惟,仍是工做須要、想要轉行,均可以此文做爲一個參考。html

在這個信息爆炸的時代,以 「Python入門」 爲關鍵字搜索出的結果成千上萬。很多小白選手不免會東一榔頭西一棒槌,最終看了不少文章,卻仍沒跨過新手那道門檻。python

結合自身的學習經驗以及與不少自學者的溝通了解,咱們整理出一條可操做性較強的自學路線,同時收集了多種形式的 Python 優質學習資源,供諸位還沒有入門或剛入門不久的同窗參考。linux

0. 心態準備

編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後確定付出了長時間的反覆練習。編程的世界浩瀚無邊,因此請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每個字符。收拾好本身的心態,向着編程的世界出發。程序員

1. 入門階段

第一步相當重要,是關係到初學者從入門到精通仍是從入門到放棄。選一條合適的入門道路,並堅持下去。web

1.1 配置 Python 學習環境面試

Python2 仍是 Python3?編程

不少人都在糾結入門應該學 Python2 仍是 Python3。這其實不是個問題。我從沒聽過某我的是 Python2 程序員或 Python3 程序員。兩者只是程序不兼容,思想上並沒有大差異,語法變更也並很少。選擇任何一個入手,都沒有大影響。小程序

若是你仍然沒法抉擇,那請選擇 Python3,畢竟這是將來的趨勢,參考知乎回答
Python2 仍是 Python3?
https://www.zhihu.com/questio...vim

編輯器該如何選?segmentfault

我推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好。而且仍是徹底免費的!

社區版地址:https://www.jetbrains.com/pyc...

其餘能夠嘗試的編輯器:

idle: Python 自帶編輯器。若是隻是想盡快寫出幾行代碼來,這是最簡便的方式。
vs code: https://code.visualstudio.com/
atom: https://atom.io/
SublimeText: http://www.sublimetext.com/3
notepad++: https://notepad-plus-plus.org/
爲了讓初學者集中更多的精力在寫代碼這件事情上,因此咱們就不推薦 vim 和 Emacs 了。

操做環境?

Python 支持現有全部主流操做平臺,不論是 windows 仍是 mac 仍是 linux,都能很好的運行 Python。而且後二者都默認自帶 Python 環境。

1.2 入門教程

《Crossin的編程教室 - Python 入門》

http://crossincode.com/course...

自認爲算得上是最淺顯易懂的入門教程,很適合沒有任何編程基礎的人上手。

74篇圖文教程,從最簡單的 Python 安裝到基本語法、數據結構、函數、文件操做、網絡請求、面向對象等逐步深刻。

對於如何加深對一個知識點的印象,最好的辦法就是本身寫代碼實現一遍。若是仍是不懂,那就再來一遍。因此不管你使用什麼教程,都請將其中的示例代碼所有在電腦上輸入並運行,learning by doing!

配套練習

Crossin的編程教室 - 基礎練習

http://crossincode.com/oj/sam...

課外練習

《笨辦法學Python》

http://www.kancloud.cn/kanclo...

這是本頗有名的 Python 書籍,但並不適合純零基礎自學。由於其中重實踐但不解釋,新手很容易看得一頭霧水。做爲學習同時的輔助倒更合適。

其餘推薦教程

《父與子的編程之旅》 又名 《與孩子一塊兒學編程》

這也是一本很是適合零基礎的 Python 入門書籍。喜歡閱讀紙質書的同窗能夠買一本,很多在線書店有售。

《簡明 Python 教程》

在線閱讀:http://www.kuqin.com/abyteofp...

這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。適合有過其餘語言基礎的人快速瞭解 Python 語法。

以上是咱們推薦的學習材料,主要偏重沒有太多編程基礎的純新手。其餘也有一些不錯的資源,可供不一樣需求的學習者使用:

在線圖文教程:

廖雪峯的Python教程
http://www.liaoxuefeng.com/wi...

廖先生的教程涵蓋了 Python 知識的方方面面,內容更加系統,有必定深度,有必定基礎以後學習會有更多的收穫。

其餘入門書籍:

Head First Python
Dive Into Python
Python 核心編程
深刻理解 Python
Python 標準庫
Python 編程指南
咱們蒐集了一些網上的電子書版本,放在了網盤裏:https://pan.baidu.com/s/1qWuGvF2

交互式學習網站:

codecademy
https://www.codecademy.com/zh...

codeschool:
https://www.codeschool.com/

codecademy 與 codeschool 這兩個經過互聯網學習 Python 的網站均備受好評。不妨去體驗一下。

在線視頻課程:

在線教育網站(Coursera網易雲edx課堂騰訊課堂等)有哪些值得推薦的 Python 教程?
https://www.zhihu.com/questio...

2. 提高階段

完成入門階段的基礎學習以後,常會陷入一個瓶頸期,經過看教程很難進一步提升編程水平。這時候,須要的是練習,大量的練習。

能夠從書上的例程開始寫,再寫小程序片斷,而後寫完整的項目。

咱們收集了一些練習題和網站。可根據本身階段,選擇適合的練習去作。建議最好挑選一兩個系列重點完成,而不是處處淺嘗輒止。

Crossin的編程教室 - 每週一坑

編程教室的公衆號每週會放出一道題目供練習,並在下一週講解。歡迎關注微信公衆號,和你們一塊兒提交解答。

往期題目:

  • 美隊盾牌

  • 羅馬數字轉換

  • 螺旋矩陣

  • 校驗文件哈希

  • 驗證哥德巴赫猜測

  • 楊輝三角形

  • 神奇的九宮格

  • 求乘積最大

  • 程序猿的浪漫

  • 田忌賽馬

  • 乒乓數

  • 囚徒困境

  • 選擇困難的農藥召喚師

  • 生成詞雲

  • 特殊迴文數

  • 統計英文小說詞頻

  • 雙色球選號器

  • 三門問題

  • 記帳本

  • 讓程序替你等待

  • 3道練習題

  • 查找文件內容

  • 文字豎排

  • 查找文件

Crossin的編程教室 - 編程實例
http://crossincode.com/oj/pra...

相對於編程教室基礎練習着重於單一知識點,編程實例更注重對知識的融會貫通。

實驗樓 提高編程水平從作項目開始
https://www.shiyanlou.com/

hackerrank Python 部分難度按部就班,符合學習曲線
https://www.hackerrank.com/do...

codewar 社區型編程練習網站,內容由易到難
https://www.codewars.com/?lan...

leetcode 爲編程面試準備,對初學者稍難
https://leetcode.com/

牛客網 提供 BAT 等大廠筆試題目
https://www.nowcoder.com/

codecombat 一邊遊戲一邊編程
http://www.codecombat.cn/

projecteuler 純粹的編程練習網站
https://projecteuler.net/arch...

菜鳥教程100例 基於 py2 的基礎練習
http://www.runoob.com/python/...

知乎:Python學習路徑及練手項目合集
https://zhuanlan.zhihu.com/p/...

知乎:Python 的練手項目有哪些值得推薦?
https://www.zhihu.com/questio...

3. 遇到問題怎麼辦?

學習的過程當中或多或少都會有各類問題出現,不要試着逃避,真的勇士勇於直面慘淡的 BUG。

第一步確定是利用好搜索引擎,怎麼用也是一門技術活:

編程初學者如何使用搜索引擎

https://zhuanlan.zhihu.com/p/...

第二步,求助於各大同性交友網站(大霧):

StackOverflow

http://stackoverflow.com/

v2ex

https://www.v2ex.com/

segmentfault

https://segmentfault.com/

4. 過來人的建議

在初學編程的過程當中,你會有各類各樣的疑惑,你會遇到各類各樣的坑。這時,前人的經驗尤其重要,咱們整理了一些知乎問題供參考:

你是如何自學Python的?

https://www.zhihu.com/questio...

怎麼用最短期高效而踏實地學習 Python?

https://www.zhihu.com/questio...

對於編程零基礎,第一個語言是 Python 的人有什麼建議?

https://www.zhihu.com/questio...

Python 編程,應該養成哪些好的習慣?

https://www.zhihu.com/questio...

如何處理 Python 入門難以進步的現象?

https://www.zhihu.com/questio...

5. 寫在最後

通過第一步和第二步訓練,相信通常的小程序都難不倒你了,你已經在編程的世界裏已經邁出了關鍵的一步。接下來就能夠去挑戰具體的項目了,爬蟲、web開發、數據分析、機器學習等等豐富的世界已經向你敞開,選擇一個方向從新出發吧!

記住:在編程的道路上,沒有捷徑。

相關文章
相關標籤/搜索