當前位置:成語大全網 - 新華字典 - 如何自學 Python

如何自學 Python

其實python非常適合初學者入門。相比較其他不少主流編程語言,有更好的可讀性,因此上手相對容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多“重復造輪子”的工作,可以更快地寫出東西。

我是真正零基礎開始學Python的,從壹開始的壹竅不通,到3個月後成功搭建了壹個動態網站(沒有用任何框架)。相比於計算機大牛,我更加知道壹個小白將會遇到什麽坑,遇到哪些難點。我把我的學習過程寫在下面,並附上在每個階段的學習資料,希望對零基礎的Python學習

想學習編程但不知如何開始的朋友。回答這類問題的人往往只是列出書單資源然後給出壹個大致的方向。有些朋友壹開始就紮入了理論學習的汪洋大海,從苦讀類似《算法導論》開始,能夠堅持讀下來的寥寥無幾,學習的積極性也被不斷的挫敗感消磨的所剩無幾。可以加Python技術直播裙三零四零五零七九九 群裏大佬生動的講解可以讓妳思路更清晰,互動直播,遇到問題裏面有大佬解答指導!

壹直以來,編程對我而言是壹種「黑魔法」般的存在。今年阿裏月餅門,當很多人都參與到是非之爭的時候,我更加著迷於程序員區區幾行代碼的腳本所展現出的威力,對於外行而言,這是超乎他們想象之外的某種能力——為什麽我守在電腦面前盯著秒針然後拼命點擊鼠標都不壹定能搶到的禮物,程序員只需要提前花5分鐘寫3行代碼就輕松搞定?

所以,我的心底深處壹直都想變成這樣的壹位魔法師。今年的8月,剛好工作上想要開發壹個基於微信的英語學習網站,借此機會,我決定好好學習壹下編程。在此之前,我所有關於程序的知識僅僅來源於兩部分,壹是本科時期的C語言必修課,現在已經忘的壹幹二凈,不過好歹我從中明白編程是怎麽回事;第二部分是大概兩年前由於工作關系學的壹些Python,不過只是皮毛,現在忘的七七八八。

簡單說,我的目標是建立壹個網站,不過這個網站是動態的,也就是說它能識別誰登陸,然後對不同的人顯示不同的內容。而當時的現實是,我完全不明白網頁是如何顯示出來的?譬如每個人登陸知乎的時候看到的是定制化的頁面,後臺是如何基於每個ID來組織出不同的頁面的?所有我們看到的問題,回答,參與的評論在背後的服務器上是以壹種什麽樣的形式存在的?又比如為什麽有些頁面只能在微信端打開,在電腦上就會出錯?(不知道妳有沒有發現這壹點)

當時我的心中充滿了無數個類似的問號?當然如果妳也是小白,壹定有著同樣的疑問。

好處是壹開始就明確了學習的目的:Web建站。所以我的學習方案基本就是通過做項目學習,哪裏不懂就解決哪裏,邊做邊學習,不斷推進。另外,由於知道很多成功的網站在用Python做服務器開發,比如知乎,所以我就自然選擇了Python。

於是我就開始了我充滿著挫敗感和成就感的編程之路……

從8月到12月的四個月裏,除去本來的工作,為了學習質量,我會保證平均每天4個小時的學習時間,周末也不例外。另外,所有的文檔,問答都盡量看英文的,這可以幫妳剩下大量的時間。12月13日,我做的網站上線了,3天時間大概有5000人訪問了這個網站,我有時在後臺看著日誌,不免有些心潮噴湧,我想把自己的經驗寫下來,希望對於那些有心學習編程但無從下手的朋友提供壹些幫助和鼓勵。

現在回頭看,我認為這壹段時間的造輪子是提升編程能力最快的時候。比如為了寫ORM,就必須去花很多時間學習SQL,去了解Python裏面的metaclass,而如果用壹個現成的框架,我很有可能偷懶不去關註某些細節。而不出問題還好,壹旦出問題,我就只能跪。另外,造輪子迫使我在開始的時候就構思整個框架,因為我必須盡可能的考慮到所有的情況,於是就會不斷的強迫自己完善知識體系,和別人的代碼作對比從而改進自己的,這個過程充滿了無盡的挫敗感,但是得來的成就和快樂也是無可比擬的。

關於自學python

個人最大3點經驗

1. 找壹本淺顯易懂,例程比較好的教程,從頭到尾看下去。

不要看很多本,專註於壹本。把裏面的例程都手打壹遍,搞懂為什麽。我當時看的是《簡明python教程》,不過這本書不是非常適合零基礎初學者。

2. 去找壹個實際項目練手。

我當時是因為要做壹個網站,不得已要學python。這種條件下的效果比妳平時學壹門新語言要好很多。所以最好是要有真實的項目做。可以找幾個同學壹起做個網站之類。註意,真實項目不壹定非要是商業項目,妳寫壹個只是自己會用的博客網站也是真實項目,關鍵是要核心功能完整。

3.最好能找到壹個已經會python的人。問他壹點學習規劃的建議(上知乎也是個途徑),然後在遇到卡殼的地方找他指點。

這樣會事半功倍。但是,要學會搜索,學會如何更好地提問。沒人願意幫妳寫作業或是回答“壹搜便知”的問題。

然而,別人的經驗未必能完全復制。比如我沒有說的是,在自學python之前,我已在學校系統學習過其他的編程語言。

對於完全沒有編程經驗的初學者,在學習python的時候,面對的不僅僅是python這門語言,還需要面臨“編程”的壹些普遍問題,比如:

· 從零開始,不知道從何入手,找了本編程教材發現第二章開始就看不懂了

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

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

· 看懂語法之後不知道拿來做什麽,學完壹陣子就又忘了

· 缺少數據結構、設計模式等編程基礎知識,只能寫出小的程序片段

所以除了前面說的3點經驗,

給編程初學者的額外建議

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

2、選擇合適的教程。有些書很經典,但未必適合妳,可能妳寫了上萬行代碼之後再看它會比較好。

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

4、除了學習編程語言,也兼顧補壹點計算機基礎,和英語。

5、不但要學寫代碼,還要學會看代碼,更要會調試代碼。讀懂妳自己程序的報錯信息。再去找些github上的程序,讀懂別人的代碼。

6、學會查官方文檔,用好搜索引擎和開發者社區。