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

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

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

關(guān)于自學(xué)python,個人3點經(jīng)驗:

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

2. 去找一個實際項目練手。我當(dāng)時是因為要做一個網(wǎng)站,不得已要學(xué)python。這種條件下的效果比你平時學(xué)一門新語言要好很多。所以好是要有真實的項目做??梢哉?guī)讉€同學(xué)一起做個網(wǎng)站之類。注意,真實項目不一定非要是商業(yè)項目,你寫一個只是自己會用的博客網(wǎng)站也是真實項目,關(guān)鍵是要核心功能完整。

3.好能找到一個已經(jīng)會python的人。問他一點學(xué)習(xí)規(guī)劃的建議,然后在遇到卡殼的地方找他指點。這樣會事半功倍。但是,要學(xué)會搜索,學(xué)會如何更好地提問。沒人愿意幫你寫作業(yè)或是回答“一搜便知”的問題。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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