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