給伸手黨的福利:Python 新手入門引導(dǎo)

這是一篇 Python 入門指南,針對那些沒有任何編程經(jīng)驗,從零開始學(xué)習(xí) Python 的同學(xué)。不管你學(xué)習(xí)的出發(fā)點是興趣驅(qū)動、拓展思維,還是工作需要、想要轉(zhuǎn)行,都可以此文作為一個參考。
在這個信息爆炸的時代,以 “Python入門” 為關(guān)鍵字搜索出的結(jié)果成千上萬。不少小白選手難免會東一榔頭西一棒槌,最終看了很多文章,卻仍沒跨過新手那道門檻。
結(jié)合自身的學(xué)習(xí)經(jīng)驗以及與很多自學(xué)者的溝通了解,我們整理出一條可操作性較強的自學(xué)路線,同時收集了多種形式的 Python 優(yōu)質(zhì)學(xué)習(xí)資源,供諸位尚未入門或剛?cè)腴T不久的同學(xué)參考。
0. 心態(tài)準(zhǔn)備
編程是一門技術(shù),也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背后肯定付出了長時間的反復(fù)練習(xí)。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態(tài)去學(xué)習(xí),認(rèn)真對待寫下的每一行代碼,甚至每一個字符。收拾好自己的心態(tài),向著編程的世界出發(fā)。
1. 入門階段
第一步至關(guān)重要,是關(guān)系到初學(xué)者從入門到精通還是從入門到放棄。選一條合適的入門道路,并堅持下去。
1.1 配置 Python 學(xué)習(xí)環(huán)境
Python2 還是 Python3?
很多人都在糾結(jié)入門應(yīng)該學(xué) Python2 還是 Python3。這其實不是個問題。我從沒聽過某個人是 Python2 程序員或 Python3 程序員。二者只是程序不兼容,思想上并無大差別,語法變動也并不多。選擇任何一個入手,都沒有大影響。
如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢,參考知乎回答
Python2 還是 Python3??應(yīng)該學(xué)習(xí)最新版本的 Python 3 還是舊版本的 Python 2?
編輯器該如何選?
我推薦?pycharm 社區(qū)版,配置簡單、功能強大、使用起來省時省心,對初學(xué)者友好。并且還是完全免費的!
社區(qū)版地址:PyCharm
其他可以嘗試的編輯器:
idle: Python 自帶編輯器。如果只是想盡快寫出幾行代碼來,這是最簡便的方式。
vs code:?Visual Studio Code - Code Editing. Redefined
atom:?A hackable text editor for the 21st Century
SublimeText:?Sublime Text - Download
notepad++:?Notepad++ Home
為了讓初學(xué)者集中更多的精力在寫代碼這件事情上,所以我們就不推薦 vim 和 Emacs 了。
操作系統(tǒng)?
Python 支持現(xiàn)有所有主流操作平臺,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。并且后兩者都默認(rèn)自帶 Python 環(huán)境。
1.2 入門教程
《Crossin的編程教室 - Python 入門》
Crossin的編程教室 - Python入門
自認(rèn)為算得上是最淺顯易懂的入門教程,很適合沒有任何編程基礎(chǔ)的人上手。
74篇圖文教程,從最簡單的 Python 安裝到基本語法、數(shù)據(jù)結(jié)構(gòu)、函數(shù)、文件操作、網(wǎng)絡(luò)請求、面向?qū)ο蟮戎鸩缴钊搿?/p>
對于如何加深對一個知識點的印象,最好的辦法就是自己寫代碼實現(xiàn)一遍。如果還是不懂,那就再來一遍。所以無論你使用什么教程,都請將其中的示例代碼全部在電腦上輸入并運行,learning by doing!
配套練習(xí)
Crossin的編程教室 - 基礎(chǔ)練習(xí)
Crossin的編程教室 - 在線練習(xí)
課外練習(xí)
《笨辦法學(xué)Python》
序言 - [ 笨辦法學(xué)Python ] - 看云
這是本很有名的 Python 書籍,但并不適合純零基礎(chǔ)自學(xué)。因為其中重實踐但不解釋,新手很容易看得一頭霧水。作為學(xué)習(xí)同時的輔助倒更合適。
其他推薦教程
《父與子的編程之旅》?又名?《與孩子一起學(xué)編程》
這也是一本非常適合零基礎(chǔ)的 Python 入門書籍。喜歡閱讀紙質(zhì)書的同學(xué)可以買一本,不少在線書店有售。
《簡明 Python 教程》
在線閱讀:簡明 Python 教程
這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。適合有過其他語言基礎(chǔ)的人快速了解 Python 語法。
以上是我們推薦的學(xué)習(xí)材料,主要偏重沒有太多編程基礎(chǔ)的純新手。其他也有一些不錯的資源,可供不同需求的學(xué)習(xí)者使用:
在線文字教程:
廖雪峰的Python教程
Python教程
廖先生的教程涵蓋了 Python 知識的方方面面,內(nèi)容更加系統(tǒng),有一定深度,有一定基礎(chǔ)之后學(xué)習(xí)會有更多的收獲。
其他入門書籍:
Head First Python
Dive Into Python
Python 核心編程
深入理解 Python
Python 標(biāo)準(zhǔn)庫
Python 編程指南
我們搜集了一些網(wǎng)上的電子書版本,放在了網(wǎng)盤里:
https://res.crossincode.com/wechat/ebook-python.html
交互式學(xué)習(xí)網(wǎng)站:
codecademy
Python
codeschool:
Learn to code by doing | Code School
codecademy 與 codeschool 這兩個通過互聯(lián)網(wǎng)學(xué)習(xí) Python 的網(wǎng)站均備受好評。不妨去體驗一下。
在線視頻課程:
在線教育網(wǎng)站(Coursera網(wǎng)易云edx課堂騰訊課堂等)有哪些值得推薦的 Python 教程?
在線教育網(wǎng)站(Coursera、網(wǎng)易云課堂、騰訊課堂等)有哪些值得推薦的 Python 課程?
2. 提升階段
完成入門階段的基礎(chǔ)學(xué)習(xí)之后,常會陷入一個瓶頸期,通過看教程很難進(jìn)一步提高編程水平。這時候,需要的是練習(xí),大量的練習(xí)。
可以從書上的例程開始寫,再寫小程序片段,然后寫完整的項目。
我們收集了一些練習(xí)題和網(wǎng)站。可根據(jù)自己階段,選擇適合的練習(xí)去做。建議最好挑選一兩個系列重點完成,而不是到處淺嘗輒止。
Crossin的編程教室 - 每周一坑:
編程教室的公眾號每周會放出一道題目供練習(xí),并在下一周講解。歡迎關(guān)注微信公眾號,和大家一起提交解答。
往期題目:
【每周一坑】三門問題
【每周一坑】雙色球選號器
【每周一坑】統(tǒng)計英文小說詞頻
【每周一坑】特殊回文數(shù)
Crossin的編程教室 - 編程實例
Crossin的編程教室 - 編程實例
相對于編程教室基礎(chǔ)練習(xí)著重于單一知識點,編程實例更注重對知識的融會貫通。
實驗樓?提升編程水平從做項目開始
實驗樓 - 在線做實驗,高效學(xué)編程
hackerrank?Python 部分難度循序漸進(jìn),符合學(xué)習(xí)曲線
https://www.hackerrank.com/domains/python/py-introduction
codewar?社區(qū)型編程練習(xí)網(wǎng)站,內(nèi)容由易到難
https://www.codewars.com/?language=python
leetcode?為編程面試準(zhǔn)備,對初學(xué)者稍難
LeetCode
牛客網(wǎng)?提供 BAT 等大廠筆試題目
??途W(wǎng)-專業(yè)IT筆試面試備考平臺,最全C++JAVA前端求職題庫,全面提升IT編程能力
codecombat?一邊游戲一邊編程
CodeCombat中國 - 中國愛好者的 CodeCombat!在游戲中學(xué)習(xí)編程
projecteuler?純粹的編程練習(xí)網(wǎng)站
https://projecteuler.net/archives
菜鳥教程100例?基于 py2 的基礎(chǔ)練習(xí)
http://www.runoob.com/python/python-100-examples.html
知乎:Python3.x基礎(chǔ)學(xué)習(xí)資料整理
https://zhuanlan.zhihu.com/p/24249743
知乎:Python學(xué)習(xí)路徑及練手項目合集
https://zhuanlan.zhihu.com/p/23561159
知乎:Python 的練手項目有哪些值得推薦?
https://www.zhihu.com/question/29372574
3. 遇到問題怎么辦?
學(xué)習(xí)的過程中或多或少都會有各種問題出現(xiàn),不要試著逃避,真的勇士敢于直面慘淡的 BUG。
第一步肯定是利用好搜索引擎,怎么用也是一門技術(shù)活:
編程初學(xué)者如何使用搜索引擎
第二步,求助于各大同性交友網(wǎng)站(大霧):
StackOverflow
http://stackoverflow.com/
v2ex
https://www.v2ex.com/
segmentfault
https://segmentfault.com/
4. 過來人的建議
在初學(xué)編程的過程中,你會有各種各樣的疑惑,你會遇到各種各樣的坑。這時,前人的經(jīng)驗尤為重要,我們整理了一些知乎問題供參考:
你是如何自學(xué)Python的?
https://www.zhihu.com/question/20702054
怎么用最短時間高效而踏實地學(xué)習(xí) Python?
https://www.zhihu.com/question/28530832
對于編程零基礎(chǔ),第一個語言是 Python 的人有什么建議?
https://www.zhihu.com/question/22785587
Python 編程,應(yīng)該養(yǎng)成哪些好的習(xí)慣?
https://www.zhihu.com/question/28966220
如何處理 Python 入門難以進(jìn)步的現(xiàn)象?
https://www.zhihu.com/question/27969262
5. 寫在最后
經(jīng)過第一步和第二步訓(xùn)練,相信一般的小程序都難不倒你了,你已經(jīng)在編程的世界里已經(jīng)邁出了關(guān)鍵的一步。接下來就可以去挑戰(zhàn)具體的項目了,爬蟲、web開發(fā)、數(shù)據(jù)分析、機器學(xué)習(xí)等等豐富的世界已經(jīng)向你敞開,選擇一個方向重新出發(fā)吧!
記?。涸诰幊痰牡缆飞希瑳]有捷徑。
一鍵三連+關(guān)注
想要領(lǐng)取資料的小伙伴們,請關(guān)注下方微信公眾號領(lǐng)取哦~
然后就等著私信查收吧~

