其實(shí)python適合初學(xué)者入門。相比較其他不少主流編程語(yǔ)言,有更好的可讀性,因此上手相對(duì)容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多“重復(fù)造輪子”的工作,可以更快地寫出東西。配置開(kāi)發(fā)環(huán)境也不是很復(fù)雜,mac和linux都內(nèi)置了python。另外不少學(xué)校也開(kāi)始使用python來(lái)教授程序設(shè)計(jì)課程。

我就是完全通過(guò)網(wǎng)上資源自學(xué)python的。

從在校時(shí)候用python接活賺零花錢,到在創(chuàng)業(yè)公司用python開(kāi)發(fā)商業(yè)網(wǎng)站和游戲后臺(tái)。所有遇到的問(wèn)題,幾乎都可以從互聯(lián)網(wǎng)上的公開(kāi)資源找到答案。

關(guān)于自學(xué)python,個(gè)人3點(diǎn)經(jīng)驗(yàn):

1. 找一本淺顯易懂,例程比較好的教程,從頭到尾看下去。不要看很多本,專注于一本。把里面的例程都手打一遍,搞懂為什么。我當(dāng)時(shí)看的是《簡(jiǎn)明python教程》,不過(guò)這本書不是適合零基礎(chǔ)初學(xué)者。零基礎(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的人。問(wèn)他一點(diǎn)學(xué)習(xí)規(guī)劃的建議,然后在遇到卡殼的地方找他指點(diǎn)。這樣會(huì)事半功倍。但是,要學(xué)會(huì)搜索,學(xué)會(huì)如何更好地提問(wèn)。沒(méi)人愿意幫你寫作業(yè)或是回答“一搜便知”的問(wèn)題。

融躍Python金融實(shí)戰(zhà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這門語(yǔ)言,還需要面臨“編程”的一些普遍問(wèn)題,比如:

· 從零開(kāi)始,不知道從何入手,找了本編程教材發(fā)現(xiàn)第二章開(kāi)始就看不懂了

· 缺少計(jì)算機(jī)基礎(chǔ)知識(shí),被一些教程略過(guò)的“常識(shí)性”問(wèn)題卡住

· 遇到問(wèn)題不知道怎么尋找解決方案

· 看懂語(yǔ)法之后不知道拿來(lái)做什么,學(xué)完一陣子就又忘了

· 缺少數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式等編程基礎(chǔ)知識(shí),只能寫出小的程序片段

所以除了前面說(shuō)的3點(diǎn)經(jīng)驗(yàn),給初學(xué)編程者的額外建議:

· 首先要有信心。雖然可能你看了幾個(gè)小時(shí)也沒(méi)在屏幕上打出一個(gè)三角形,或者壓根兒就沒(méi)能把程序運(yùn)行起來(lái)。但相信我,幾乎所有程序員一開(kāi)始都是這么折騰過(guò)來(lái)的。

· 選擇合適的教程。有些書很經(jīng)典,但未必適合你,可能你寫了上萬(wàn)行代碼之后再看它會(huì)比較好。

· 寫代碼,然后寫更多的代碼。光看教程,編不出程序。從書上的例程開(kāi)始寫,再寫小程序片段,然后寫完整的項(xiàng)目。

· 除了學(xué)習(xí)編程語(yǔ)言,也兼顧補(bǔ)一點(diǎn)計(jì)算機(jī)基礎(chǔ),和英語(yǔ)。

· 不但要學(xué)寫代碼,還要學(xué)會(huì)看代碼,更要會(huì)調(diào)試代碼。讀懂你自己程序的報(bào)錯(cuò)信息。再去找些github上的程序,讀懂別人的代碼。

· 學(xué)會(huì)查官方文檔,用好搜索引擎和開(kāi)發(fā)者社區(qū)。