其實(shí)python非常適合初學(xué)者入門(mén)。相比較其他不少主流編程語(yǔ)言,有好的可讀性,因此上手相對(duì)容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多“重復(fù)造輪子”的工作,可以快地寫(xiě)出東西。配置開(kāi)發(fā)環(huán)境也不是很復(fù)雜,mac和linux都內(nèi)置了python。另外據(jù)我所知,不少學(xué)校也開(kāi)始使用python來(lái)教授程序設(shè)計(jì)課程(比如本人的母校)。
關(guān)于自學(xué)python,個(gè)人大的3點(diǎn)經(jīng)驗(yàn):
1.找一本淺顯易懂,例程比較好的教程,從頭到尾看下去。不要看很多本,專(zhuān)注于一本。把里面的例程都手打一遍,搞懂為什么。我當(dāng)時(shí)看的是《簡(jiǎn)明python教程》,不過(guò)這本書(shū)不是非常適合零基礎(chǔ)初學(xué)者。
2.去找一個(gè)實(shí)際項(xiàng)目練手。我當(dāng)時(shí)是因?yàn)橐鲆粋€(gè)網(wǎng)站,不得已要學(xué)python。這種條件下的效果比你平時(shí)學(xué)一門(mén)新語(yǔ)言要好很多。所以好是要有真實(shí)的項(xiàng)目做。可以找?guī)讉€(gè)同學(xué)一起做個(gè)網(wǎng)站之類(lèi)。注意,真實(shí)項(xiàng)目不一定非要是商業(yè)項(xiàng)目,你寫(xiě)一個(gè)只是自己會(huì)用的博客網(wǎng)站也是真實(shí)項(xiàng)目,關(guān)鍵是要核心功能完整。
3.好能找到一個(gè)已經(jīng)會(huì)python的人。問(wèn)他一點(diǎn)學(xué)習(xí)規(guī)劃的建議(上知乎也是個(gè)途徑),然后在遇到卡殼的地方找他指點(diǎn)。這樣會(huì)事半功倍。但是,要學(xué)會(huì)搜索,學(xué)會(huì)如何好地提問(wèn)。沒(méi)人愿意幫你寫(xiě)作業(yè)或是回答“一搜便知”的問(wèn)題。
然而,別人的經(jīng)驗(yàn)未必能完全復(fù)制。比如我沒(méi)有說(shuō)的是,在自學(xué)python之前,我已在學(xué)校系統(tǒng)學(xué)習(xí)過(guò)其他的編程語(yǔ)言。
對(duì)于完全沒(méi)有編程經(jīng)驗(yàn)的初學(xué)者,在學(xué)習(xí)python的時(shí)候,面對(duì)的不僅僅是python這門(mén)語(yǔ)言,還需要面臨“編程”的一些普遍問(wèn)題,比如:
1.從零開(kāi)始,不知道從何入手,找了本編程教材發(fā)現(xiàn)第二章開(kāi)始就看不懂了
2.缺少計(jì)算機(jī)基礎(chǔ)知識(shí),被一些教程略過(guò)的“常識(shí)性”問(wèn)題卡住
3.遇到問(wèn)題不知道怎么尋找解決方案
4.看懂語(yǔ)法之后不知道拿來(lái)做什么,學(xué)完一陣子就又忘了
5.缺少數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式等編程基礎(chǔ)知識(shí),只能寫(xiě)出小的程序片段
所以除了前面說(shuō)的3點(diǎn)經(jīng)驗(yàn),給初學(xué)編程者的額外建議:
1.首先要有信心。雖然可能你看了幾個(gè)小時(shí)也沒(méi)在屏幕上打出一個(gè)三角形,或者壓根兒就沒(méi)能把程序運(yùn)行起來(lái)。但相信我,幾乎所有程序員一開(kāi)始都是這么折騰過(guò)來(lái)的。
2.選擇合適的教程。有些書(shū)很經(jīng)典,但未必適合你,可能你寫(xiě)了上萬(wàn)行代碼之后再看它會(huì)比較好。
3.寫(xiě)代碼,然后寫(xiě)多的代碼。光看教程,編不出程序。從書(shū)上的例程開(kāi)始寫(xiě),再寫(xiě)小程序片段,然后寫(xiě)完整的項(xiàng)目。
4.除了學(xué)習(xí)編程語(yǔ)言,也兼顧補(bǔ)一點(diǎn)計(jì)算機(jī)基礎(chǔ),和英語(yǔ)。
5.不但要學(xué)寫(xiě)代碼,還要學(xué)會(huì)看代碼,要會(huì)調(diào)試代碼。讀懂你自己程序的報(bào)錯(cuò)信息。再去找些github上的程序,讀懂別人的代碼。
6.學(xué)會(huì)查官方文檔,用好搜索引擎和開(kāi)發(fā)者社區(qū)。
掃碼匿名提建議
直達(dá)CEO信箱