<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一名數(shù)據(jù)分析師的Python學習歷程

          共 2308字,需瀏覽 5分鐘

           ·

          2020-10-07 12:12


          導讀

          前期,將自己完整的SQL學習歷程盡可能詳細的總結(jié)了一遍,后臺也收到了一些讀者的反饋,并私信交流Python的學習歷程,恰好這也在個人的計劃之中。私以為,相較于SQL這種知識體系相對單一、內(nèi)容體量有限(是指常用操作范圍,如果想成為數(shù)據(jù)庫專家自然也是學海無涯的)的知識,分享Python的學習歷程要復雜得多。一方面。編程語言本身要涉及計算機組成原理、部分數(shù)學基礎、數(shù)據(jù)結(jié)構(gòu)與算法等等,要求更為綜合;另一方面,各種編程語言之間也相對互通,若有一門編程語言的基礎的情況下再學其他編程語言就會相對容易得多。所以,本篇僅就自身在學習Python過程中的基本路徑進行總結(jié)。




          01 基本情況

          個人學習Python之前,其實是有過系統(tǒng)學習C/C++經(jīng)歷的,這也是大學多數(shù)信息類專業(yè)的必修課程,但其實當時是學的馬馬虎虎,談不上興趣和鉆研。而后,隨著研究生期間學術論文的需要,改用Matlab更多,至于C語言則沒再碰過。再之后,經(jīng)歷了一段編程真空期后,因為人工智能和數(shù)據(jù)科學的日益火爆,開始入坑Python學習大潮中,期間也見證了各種培訓機構(gòu)的炒作,一定程度上也加深了自身學習Python的熱情。


          正式確定開始學習Python后,大致經(jīng)歷了這么幾個階段:

          1. 各種入門教程科普階段

          2. 以爬蟲為牽引熟悉理解Python編程思想階段

          3. 系統(tǒng)學習Python數(shù)據(jù)結(jié)構(gòu)與算法+LeetCode刷題階段

          4. 專注于數(shù)據(jù)科學方向的Python沉淀階段


          當然,本文今天重點講述的是前三個階段,第4個階段內(nèi)容更為龐大,留作后續(xù)單獨開篇。



          02 入門科普

          其實這個過程是最難的,但同時也是學習收獲上升最快的。說它難是因為很多初學者在學習一門新知識時,并不會很清楚的掌握其知識框架、學習主線以及內(nèi)容邊界,很容易陷入東一榔頭西一棒槌的局面。所以入門科普階段,個人還是建議從一本相對體系完備的入門教材為主,至于教材的難度其實是因個人基礎加以選擇。在學習的過程中,建議學習3遍:

          第一遍走馬觀花式通讀,重在建立知識框架;

          第二遍分章節(jié)研讀,不求嚴格按照成書順序,可以針對其中的某個章節(jié)深入研究,在研究過程中遇到問題時及時解決,個人當時的一個最大感受就是解決疑問的過程就是一個入棧出棧的過程,比如為了查找問題A,在學習A的解答過程中又會遇到問題B,而在查找B的解答時就會遇到問題C,如此反復,直至各個擊破再次回到問題A時,那么估計這個問題的立體式知識框架都已比較清晰了;

          第三遍注重查缺補漏,對于一本入門級教材而言,里面介紹的知識通常來講都是需要掌握的,所以可以適時進行有所側(cè)重的第三遍學習,當在此過程中出現(xiàn)觸類旁通、連點成線的效果時,或者全書的80%知識點已經(jīng)有效理解,那么入門階段就已基本完成了。


          經(jīng)過這一階段,理想情況下應當具備了較為完整的Python知識框架,至少在遇到問題和報錯時懂得如何有效描述和查找答案。



          03 學習Python爬蟲

          爬蟲是python的一個重要方向,包括一些企業(yè)也會專門設置python爬蟲崗位。和很多python初學者一樣,個人最初學習Python時也是從爬蟲這個方向開始的,在有了一定Python經(jīng)驗之后我仍然建議初學者以Python爬蟲作為初學的練手方向,其原因也再簡單不過:Python爬蟲語法簡單,學習效果反饋明顯,可謂是所見即所得。當然,要想成為資深爬蟲工程師那也是要付出長期堅持和努力的。


          簡單總結(jié)來看,學習Python爬蟲的過程其實就是學習幾個常用庫的過程,比如個人將爬蟲區(qū)分3步:獲取網(wǎng)頁響應、解析目標字段以及爬蟲結(jié)果保存。其中前兩步是重點,尤其是獲取網(wǎng)頁響應時,其實又會涉及到很多方法和技巧,包括目標url的分析、反爬與反反爬等等,這實際上也是爬蟲最難的一環(huán)。在獲得了網(wǎng)頁響應執(zhí)行目標字段解析時,則會有套路可循得多,常用的無非就是那三種(正則、lxml、和beautifulsoup);而到了保存爬蟲結(jié)果則是可選項,簡單的保存成文件,數(shù)據(jù)量較大的可以寫入數(shù)據(jù)庫,甚至有時候不保存也是可以的。


          對此,分享以下2篇推文,致敬曾經(jīng)初學爬蟲的自己:

          1. 學習python爬蟲的平凡之路

          2. 多種爬蟲方式對比



          04 數(shù)據(jù)結(jié)構(gòu)與算法

          實際上,在完成入門科普之后直接學習爬蟲可能并不是一個絕對合理高效的過程,而僅僅是出于即時體驗編程效果而言的。那么,入門之后最應該學習的是什么呢?個人認為是數(shù)據(jù)結(jié)構(gòu)與算法。程序=數(shù)據(jù)結(jié)構(gòu)+算法,所以學習編程的過程其實無時無刻不在跟數(shù)據(jù)結(jié)構(gòu)與算法打交道。如果把一個程序員的編程水平類比武林高手功夫高低的話,那么數(shù)據(jù)結(jié)構(gòu)是招式、算法則是內(nèi)功,二者缺一不可。


          學習數(shù)據(jù)結(jié)構(gòu)與算法的過程,個人主要經(jīng)歷了理論和刷題兩部分:理論篇優(yōu)先推薦B站北大陳斌老師的mooc視頻,完整學習下來感覺是講的既對新人友好又能啟發(fā)思考,個人也是完整的學習了兩遍;刷題則毫無懸念的推薦LeetCode平臺,這應該也是絕大部分程序員刷題的網(wǎng)站了。

          B站有多個版本


          數(shù)據(jù)結(jié)構(gòu)與算法,其實個人認為這是一個在提升編程技能路上有標準無止境的課題,不可短期速成、但求徐徐圖之。



          相關閱讀:


          瀏覽 88
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人老司机 | 欧美一级性爱视频 | 色老板免费视频 | 一区二区天堂 | 在线人妻 |