8個月的Python學習歷程,他的經歷感動了整個程序員圈子


從正式開始學習Python到現在差不多8個月的時間了,雖說進展比較緩慢,但多少也算有些進步和體會,現在想把把這大半年來的學習情況簡單梳理一下,既是給自己做個總結,也希望能給與我情況類似的朋友們一點幫助。

本篇文章有幾千字,是我辛苦寫了幾天的總結,也許對初學者有用,建議大家耐心看完。

一.我的情況

作為一名非技術類崗位在職人士,學習Python不以轉行求職為目標、不以提升工作能力為目的、不以直接經濟利益為訴求,僅僅當作一項業余活動來看待。當然,這種情況下學習的劣勢是顯而易見的:

  1. 沒有明確的目標,學習方向不固定
  2. 沒有強烈的動機,學習欲望不強烈
  3. 沒有項目的支撐,學習環境不理想

就我自身情況而言,由於長期從事非技術類崗位的工作,無論對web開發還是數據分析,相關知識都比較欠缺。 另外由於工作比較忙,不能保證每天都有機會使用互聯網,相信就這一點而言,很多打算學習Python的朋友都要比我有優勢。

不過,嚴格來說我也不算是完全零基礎,畢竟是工科專業出身,讀書時參加過ACM之類的比賽,做過計算機方面的一些項目,編程的基礎還是有一點。

二.心路歷程

從最開始接觸Python到現在,我把自己的學習歷程大體分成徘徊、入門、進階三個階段。

1.徘徊

最開始了解Python這門語言大概是2年多以前的事了,當時動過學Python的念頭,但就像前面說的那樣,缺乏明確的目標和強烈的欲望,學習這件事剛開始不久就被無限期擱置了。

第二次打算學習Python是去年夏天,當時剛好自學通過了一門資質認證,下半年打算給自己再找一個新目標,就又想起了Python,慶幸的是這次堅持了下來,一直到現在。

說起來這次能夠成功入門並堅持學習,我關注的很多頭條號功不可沒,事實就是地講,很多頭條號里有很多適合小白和新手的東西,能夠讓你在短時間內對Python語言、應用領域、學習方向有一個大概的了解,能夠幫助你一步一步地正式展開對Python的學習。

2.入門

要想入門一門語言,有兩個要素無法回避的,一是學習資料,二是開發工具。

1).學習資料

網上的視頻、書籍、博文等學習資料可謂鋪天蓋地,但畢竟我們的學習時間是有限的,不可能去一一嘗試,選好適合自己的學習方式和資料對入門者來說是很關鍵的一步。

我的選擇是閱讀紙質書籍,選幾本適合自己的書靜下心來認真閱讀,書中的代碼一定要仔細琢磨(有條件的可 以自己把代碼寫一遍,加深理解),實在看不懂的地方可以暫時跳過,但一定要堅持讀下去,說白了就是“硬啃”。

這里我着重介紹兩本入門書籍:

《a byte of Python》:它最大的作用是讓你對Python這門語言有一個 整體、全面的了解,為下步學習奠定基礎。

《Python核心編程(第二版)》:需要注意的是 要一定要買“第二版”而不是“第三版”,另外這本書的中文版里面有一些錯誤,如果遇到了請不要懷疑,它就是錯的!

2).開發工具:

學習Python以來,陸續接觸過IDLE、pycharm、sublime text、spyder、Ipython五個編輯器,往期文章里有篇文章(Python開發工具之神兵利器),對開發工具進行了推薦,這里我簡單闡述一下對上述五種工具的使用感受:

IDLE: Python安裝自帶工具,被很多人詬病,但我覺得它安裝簡單,反而很適合初學者。如果實在不喜歡,可以在學習一段時間后改選其他的工具。

pycharm:專業級神器,缺點是比較笨重,平時寫小程序的話一般不用。

sublime text:輕量級神器,我的最愛,非常喜歡它的界面。

Anaconda:集成了大量數據分析相關庫,安裝方便,另外它的調試功能據說也比較強大。缺點是界面比較難 看,代碼補全功能也不完善。

Ipython:又稱jupyter,Anaconda自帶,我最近才開始使用,能夠實時查看代碼輸出(這一點也很適 合初學者)

最后再補充一點Python版本選擇的問題,其實這個問題真的真的不用糾結,因為py2和py3的差別非常小,隨便選一個盡快上手才是真諦。當然,對於沒有明確需求的初學者,我還是建議選擇Python入手,畢竟Py3是大勢所趨。

 

3.進階

這里所謂的“進階”並不是說已經度過了入門階段,而是指在學習Python基本語法的基礎上做一些擴展,向着實際應用邁出第一步。

目前來看學習Python主要有三個方向:web開發、數據分析、機器學習。個人覺得Python在web開發領域沒有太大的優勢,而機器學習需要大量的理論和技能基礎、入門門檻較高,所以我最終的選擇是從數據分析入手。

這一階段的學習方法除了自己閱讀資料外,最好能找一些外部的支持,對口專業的在校生和在職人員或者是身邊的老手請教。如果都沒有可以從網絡上尋求幫助,這方面我主要采取了下面兩種途徑:

1).結合自身情況購買一門在線課程

買在線課程的最大作用不是它提供的視頻和資料,而是給你一個與其他人共同學習交流的氛圍和機會,有的課程會設置進度或者時間限制,這些都可以對自學起到督促作用。

現在網上的課程很多,我覺得沒有最好的,只有最適合。有的課程一套七八千RMB,雖然質量很高,但對於業余玩家來說是否必要還要看自己的選擇。

我當時選的是一套300元左右的爬蟲課程(為了排除打廣告的嫌疑,平台名稱這里就不寫了),說這套課程有些缺陷,但它確實成功地帶領我入門爬蟲、入門數據這個領域,客觀來講還是物有所值的。

2).尋找並加入適合自己的網絡群體

一個人自學很有可能因為動力不足而中途放棄,可以嘗試加入一個或幾個適合自己的網絡群體(QQ、微信、 社區等),尋找志同道合的學習伙伴,相互交流、相互促進。如果想通過學習群來提高自己的小伙伴,歡迎加入我的Python技術交流企鵝學習小組:639584010,里面有不錯的學習工具和教程,可自行下載或者問我要。

 三.學習體會

1.堅持學習

堅持是一個老生常談的話題,不過這里想說的重點略有不同,生活中我們都有很多事情要忙,不是所有人都能堅持每天擠出時間來 完成學習任務。

對於這一點我們要正確看待,“三天打魚兩天曬網”的狀態是很正常的,學習中斷了等有時間后繼續就可以,要學會調整心態,不必因學習受阻而氣餒、放棄,要接受這種並不順利的學習狀態,這才是我們業余學習者應有的堅持。

2.細化目標

在學習過程中,最好能夠制定比較細小的目標,然后不斷更新,像做一個web網站、開發一個小游戲之類的中 期目標,個人認為並不適合每一個初學者。

我們需要根據自身的學習程度和技能水平不斷細化、調整當前的目標, 例如在語言學習初期可以設定“搞清楚is和==之間的關系”、“學習模塊調用”之類的目標。

隨着學習的推進可以調整 為“寫一個小型爬蟲”、“清洗並分析一組數據”之類的目標,以此類推。制定適合自己的目標可以讓學習更有動力, 反之則會增強挫敗感。

3.多練多看

“練”是指在學習過程中要勤於動手寫代碼,在學習初期,哪怕是照抄書本上的代碼也可以加深對程序的理解。

“看”是指要善於閱讀和學習其他人優秀的代碼,這樣才有可能慢慢體會到Python真正的精髓所在。

最后,祝大家都能夠學有所成,走上人生巔峰呀嘿嘿嘿~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM