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

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

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

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

1. 找一本淺顯易懂,例程比較好的教程,從頭到尾看下去。不要看很多本,專注于一本。把里面的例程都手打一遍,搞懂為什么。我當(dāng)時(shí)看的是《簡明python教程》,不過這本書不是適合零基礎(chǔ)初學(xué)者。零基礎(chǔ)推薦《與孩子一起學(xué)編程》。

2. 去找一個(gè)實(shí)際項(xiàng)目練手。我當(dāng)時(shí)是因?yàn)橐鲆粋€(gè)網(wǎng)站,不得已要學(xué)python。這種條件下的效果比你平時(shí)學(xué)一門新語言要好很多。所以好是要有真實(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ī)劃的建議,然后在遇到卡殼的地方找他指點(diǎn)。這樣會(huì)事半功倍。但是,要學(xué)會(huì)搜索,學(xué)會(huì)如何更好地提問。沒人愿意幫你寫作業(yè)或是回答“一搜便知”的問題。

融躍Python金融實(shí)戰(zhàn)課

然而,別人的經(jīng)驗(yàn)未必能完全復(fù)制。比如我沒有說的是,在自學(xué)python之前,我已在學(xué)校系統(tǒng)學(xué)習(xí)過其他的編程語言。

對(duì)于完全沒有編程經(jīng)驗(yàn)的初學(xué)者,在學(xué)習(xí)python的時(shí)候,面對(duì)的不僅僅是python這門語言,還需要面臨“編程”的一些普遍問題,比如:

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

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

· 遇到問題不知道怎么尋找解決方案

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

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

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

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

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

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

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

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

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