前言
之前在知乎寫(xiě)過(guò)一篇關(guān)于Python如何入門(mén)學(xué)習(xí)的回答,目前已有2600贊,12000收藏。這里分享一下,可能對(duì)初學(xué)者有參考意義。已經(jīng)入門(mén)的也可以看一下里面的學(xué)習(xí)思路,是否和你的想法一致呢?

正文
首先學(xué)習(xí)python一定要以實(shí)用性為導(dǎo)向!盲目看教程,結(jié)果大多是淺嘗輒止,從入門(mén)到放棄。
我想告訴你我的經(jīng)驗(yàn),如何在一個(gè)月內(nèi)入門(mén)python!

【why】 你為什么要學(xué)習(xí)python?
爬蟲(chóng)?數(shù)據(jù)分析?機(jī)器學(xué)習(xí)?又或者其它?
在找一本python教程準(zhǔn)備啃之前,一定要問(wèn)問(wèn)自己,我為什么要學(xué)習(xí)python?

python在近幾年越來(lái)越受追捧,很多童鞋或者職場(chǎng)小伙伴想要提升技能-學(xué)習(xí)python。這是非常好的事情,但問(wèn)題在于很多人不知道學(xué)python做什么,所以什么零碎細(xì)末、艱難晦澀、長(zhǎng)篇大論的都去看,很容易陷入學(xué)不下去的困境。必須要有針對(duì)性、選擇性地學(xué)!
針對(duì)性學(xué)習(xí)宗旨是按需去學(xué),學(xué)以致用。
想成為木匠,才去學(xué)習(xí)用刨子、用車床,一個(gè)磚瓦匠就沒(méi)必要瞎費(fèi)這功夫。同理,當(dāng)你對(duì)網(wǎng)絡(luò)爬蟲(chóng)感興趣,并且有爬一個(gè)網(wǎng)頁(yè)的沖動(dòng),這時(shí)候去學(xué)python是最容易上手的。
我是做數(shù)據(jù)分析工作,學(xué)python的初衷是想利用python強(qiáng)大靈活的數(shù)據(jù)分析能力。
python做數(shù)據(jù)分析對(duì)語(yǔ)法的要求并不高,只要能理解基本的邏輯結(jié)構(gòu)、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、運(yùn)算符、函數(shù)、庫(kù),就可以運(yùn)用到實(shí)際項(xiàng)目里。
所以我就沒(méi)必要花很大功夫在諸如類、web編程、模塊、線程等數(shù)據(jù)分析不常用的功能上面,如果真遇到這些內(nèi)容,我再去查資料搞清楚。

【what】選擇什么樣的教程學(xué)?
在明確自己為什么學(xué)python后,要選擇合適的書(shū)籍教程。不可否認(rèn),市面上已經(jīng)有太多python入門(mén)書(shū)籍,以及更多的網(wǎng)絡(luò)教程。
我只推薦給大家python官方文檔,不久前該文檔已經(jīng)漢化,大家可以很方便的去學(xué)習(xí)最新最全的python知識(shí)。如果你有能力閱讀英文文檔,那就選英文文檔,畢竟第一手的內(nèi)容更專業(yè)。

當(dāng)然,官方文檔知識(shí)點(diǎn)太多,初學(xué)者很難找到要學(xué)的內(nèi)容,這時(shí)你需要查查各個(gè)專業(yè)領(lǐng)域的python要求。
如果你是要準(zhǔn)備從事數(shù)據(jù)科學(xué),不妨去kaggle數(shù)據(jù)科學(xué)微教程看看,里面會(huì)講到數(shù)據(jù)科學(xué)需要的python知識(shí),然后對(duì)照著一個(gè)知識(shí)點(diǎn)一個(gè)知識(shí)點(diǎn)地啃python官方文檔。

如果你要做爬蟲(chóng)工作,不妨在網(wǎng)上買一本評(píng)分高的python爬蟲(chóng)書(shū)籍,一般來(lái)說(shuō)里面會(huì)有python基礎(chǔ)部分,同理你只要在官方文檔里找這部分知識(shí)學(xué)習(xí)。
針對(duì)性地在官方文檔里學(xué)習(xí)python知識(shí),不僅節(jié)省時(shí)間,而且你會(huì)發(fā)現(xiàn)更容易理解,因?yàn)槟闶菐е鴨?wèn)題去學(xué)習(xí)的。
【how】怎么去學(xué)習(xí)python?
其它回答里也提到了在重復(fù)練習(xí)中學(xué)習(xí)python,這點(diǎn)我是非常認(rèn)同的。輸出是最好的輸入,編程語(yǔ)言雖然注重邏輯,但更需要學(xué)習(xí)者不斷地動(dòng)手敲代碼。
從一開(kāi)始,你要學(xué)會(huì)如何搭建python環(huán)境,選擇什么樣地開(kāi)發(fā)環(huán)境(IDE)。這些都可以去網(wǎng)上查,慢一點(diǎn)的折騰兩三天,快一點(diǎn)的一天不到就能搞定??傊@是學(xué)習(xí)python的第一步,也是練習(xí)的開(kāi)始。
對(duì)于官方文檔的每一段代碼,我建議都動(dòng)手親自敲一遍,比如你看到字符串這一節(jié),在理解了字符串定義后,文檔會(huì)給出示例代碼和運(yùn)行結(jié)果:

照著示例代碼,在你的編程環(huán)境中實(shí)踐,千萬(wàn)不要復(fù)制黏貼,對(duì)自己的火眼精金過(guò)度自信并不是一件好事。
【when】如何制定時(shí)間學(xué)python?
學(xué)習(xí)python切忌拉很長(zhǎng)戰(zhàn)線。制定的計(jì)劃時(shí)間越長(zhǎng),人的惰性、拖延就會(huì)冒出來(lái)。
我的建議:
- 制定5~8周的學(xué)習(xí)計(jì)劃
- 一周學(xué)習(xí)5天
- 每天3小時(shí)左右
理由是:
- 時(shí)間不長(zhǎng)1~2個(gè)月,比較容易堅(jiān)持
- 符合一門(mén)大學(xué)課程的學(xué)習(xí)周期
- 短時(shí)間高密度的學(xué)習(xí)有利于形成知識(shí)的連貫性,對(duì)python理解也會(huì)更加深入
當(dāng)然,這中間需要監(jiān)督機(jī)制,你可以在社交平臺(tái)打卡,可以制定自己的學(xué)習(xí)課程表,也可以和朋友一起學(xué)習(xí)。
結(jié)合網(wǎng)上資料和python官方文檔,整理一份30天python 學(xué)習(xí)計(jì)劃,供大家參考。
-
第1天
Python簡(jiǎn)介 - Python的歷史 / Python的優(yōu)缺點(diǎn) / Python的應(yīng)用領(lǐng)域
Python環(huán)境搭建 【參考資料】 -
第2天
-
第3天
-
第4天
python數(shù)據(jù)結(jié)構(gòu)
列表/字符串/元組【參考資料】 -
第5天
python數(shù)據(jù)結(jié)構(gòu)
字典/集合 【參考資料】 -
第6天
python流程控制1【參考資料】
if語(yǔ)句
for循環(huán)
while循環(huán) -
第7天
python流程控制2【參考資料】
continue語(yǔ)句
break語(yǔ)句
pass語(yǔ)句 -
第8~9天
-
第10~12天
-
第13天
-
第14天
-
第15~16天
-
第17~19天
-
第19~20天
標(biāo)準(zhǔn)庫(kù)使用 【參考資料】
日期和時(shí)間
數(shù)學(xué)
操作系統(tǒng)接口 -
第21天
-
第22~23天
-
第24天
-
第25~30天