1. 程式人生 > >Python學習方法記錄與心得體會

Python學習方法記錄與心得體會

我在學習Python爬蟲之前,只有一點點C++基礎。所謂“一點點”,指的是看過譚浩強的《C++程式設計》、磚頭一樣的《C++Primer》(當然,後者沒看完),有接觸實驗室的MFC大型專案經驗,但是對於資料結構、類、封裝等概念,理解得都不到位。

在這樣的基礎上,由於種種原因,開始學習Python。下面記錄自己學習Python的經歷,持續更新。。。

(1)學習Python基礎

2017年11月11日-11月30日
開始閱讀《零基礎入門學習Python》,看了三天,初始Python的基本語法、列表和字典、包和模組等概念。推薦小甲魚的這本書作為入門,書籍是基於Python3作為開發語言,具有時效性;語言輕鬆易懂;一邊抄程式碼一邊學語法,3天即可以稍微上手Python。

在這三天間,還參考百度教程,配置好Python的執行環境。在win7環境下,安裝了Python3.6,Anaconda3,PcCharm,後來才發現,只需要下載一個Anaconda3就可以了0-0熟悉了Python的執行環境,熟悉了pip、conda等命令的用法、第三方包的安裝。

此外,還配置了MySQL、Navicat、PowerBI等相關軟體。現在想想,有點多餘了,其實暫時是用不到的。但在做專案的時候,終會用到。詳細的Python環境配置可以參考我這篇部落格

以上的過程大概持續了5天。努力的話,2-3天就夠了,熟悉語法和基礎,就要直接寫程式碼開幹。

(2)初識Python資料分析

2017年11月18日-11月30日
由於剛開始的時候,把自己的求職目標定位為“基於Python的資料分析師”,因此還檢索了很多資料分析的崗位JD。包括資料分析的崗位要求、學習規劃、職業分類等等。自己也很懈怠。

11月27-12月4日去廈門大學出差,期間只能看看書。看的是《利用Python進行資料分析》,草草瀏覽了一遍,只記得NumPy、Matplotlib、pandas這幾個包的名字而已=-=京東雙11的時候,買了《利用Python進行資料分析》、《Python金融大資料分析》、《Python零基礎入門學習》、《誰說菜鳥不會資料分析》、《深入淺出資料分析》這幾本書,一共大概200元,但是過了一個月,目前只看了《Python零基礎入門學習》這一本而已。。。

(3)初學Python網路爬蟲

2017年12月8日-12月25日
出差返校之後,重新定位了一下:把“爬蟲工程師”作為學習Python的階段性目標。大概花了一週時間去攻克,學習到的知識有:
1、網頁的基本知識:get和post的含義、html的含義及基本格式;
2、爬蟲的基本原理:分析網頁-請求網頁-返回網頁資訊-解析網頁-下載檔案-儲存檔案;
3、爬蟲相關的第三方包:請求網頁用的是requests,解析網頁有三種方法(re、lxml、BeautifulSoup),這三個包是爬蟲的重中之重;
4、Python環境下對本地檔案的讀寫:下載檔案則需要自己寫一個download函式,os包的使用;
5、網頁URL的分析方法,需要用for迴圈獲取某些巢狀網頁的url;
6、使用瀏覽器除錯url的方法,F12和尋找scr、href等;

學習的方法,就是不斷的尋找網上的示例,先自己在spyder中手動敲一遍,然後逐句逐句的分析每一條程式碼的含義。重複2-3個例子之後,會發現所有的爬蟲都基本是這個套路。這個重複的過程一週足矣。0-0爬取妹子圖,對於內心成就感的提升是最大的。。。

(4)研讀《從零開始學Python網路爬蟲》,系統學習爬蟲

2017年12月18日-2017年12月31日
在學習了基本的小型爬蟲之後,開始學習爬蟲框架Scrapy。學習Scrapy的過程非常的曲折,主要困難在:由於Scrapy包在17年2月份之後,才支援Python3;此外,有些網頁的html也在更改,因此網上很多教程都是不可正常執行的。

我百度關鍵詞為“scrapy爬取圖片”,瀏覽了前100個網頁,能執行的爬蟲例項,不過6個而已。因此,除了瀏覽Scrapy框架的簡介之後,沒有幾個能仔細研究的case。於是,上jd買了一本《從零開始學Python網路爬蟲》,由於是17年10月份出版的,因此和目前的開發環境很契合,不會出現程式碼執行不了的情況。

將要學習的知識點:
1、用MongoDB和MySQL儲存爬取的資料;
2、多執行緒爬蟲的實現方法;
3、針對非同步載入網頁抓取資料的方法;
4、使用cookies模擬登入網站;

(5)初識機器學習,研讀《機器學習Python實踐》

2018年1月2日-2018年1月13日
看到了拉勾網上廣州銀行的資料分析崗位,要求機器學習方向,做資料預測的工作;結合目前的行業趨勢,開始了機器學習的瞭解。方式,當然是把知乎、CSDN、部落格園、簡書等網站的資訊都過一遍,把百度關鍵詞的幾百個網頁都過一遍;然後在京東買了三本書,《機器學習Python實踐》、周志華《機器學習》、李航《統計學習方法》,第一本是基於scikit-learn框架的Python實踐指導書,後兩本都是機器學習理論方面的經典教材,一深一淺;同時,正好我的舍友(秋招去了海康的大資料演算法)和實驗室的楊烈(做的課題是TensorFlow框架的深度學習)做的工作與之相關,就和他們多討論,可以在學習方向上即是糾偏。

這段時間,主要是直接上手《機器學習Python實踐》這本書的程式碼,把書上幾乎所有的程式碼都重寫了一遍,瞭解了scikit-learn的基本用法、機器學習的基本流程;當然,對於理論完全沒有了解,也缺乏獨立進行專案的能力。

(6)研讀《利用Python進行資料分析》

2018年1月13日-1月22
動物書系列都寫的很好。這本書可以說是資料分析領域,不可避免的一部經典了。集中花了十天左右來看,做示例。
優點在於:針對Python2語言,在資料分析情境下,介紹了常用的包(Scipy、Numpy、pandas、matplotlib)、資料的一般操作(匯入、清洗、轉換、合併、視覺化)、十個左右的例項幫助理解。
缺點在於:程式碼案例在Python3上執行時,很多都需要修改;個人感覺例項偏少,並且有些脫離當代商業分析的實際情景;美國人寫書比較口水;程式碼在書本里面,沒有灰色背景色,不太容易看出來。

我個人只是不求甚解的通看了一遍而已,然後將例子照抄做了一遍,沒有太多的個人思考。個人感覺這本書,是當做“字典”來翻閱的。也即是說:遇到資料分析的具體案例時,查閱這本書,尋找有哪些方法可以借鑑。

這一節很好的的教程:
《利用Python進行資料分析》的學習筆記這裡寫連結內容
動物書系列《利用Python進行資料分析》

(7)研讀《深入淺出資料分析》

2018年1月23日-2月1日
這段時間去廈門大學出差,只是在做實驗中途間歇的時候,匆匆瀏覽完了這本書。也是在京東上買的,算是資料分析的入門教程了;這本書本身也屬於‘Head first’系列,即從頭開始,可以是實實在在的入門書。
優點:案例結合商業實踐非常緊密;語言、圖例都及其通俗易懂,沒有任何閱讀難度;
缺點:內容太淺;看過之後印象不深刻。只能算是科普書。

(8)研讀《機器學習》(周志華老師的西瓜書)

我的學習筆記
機器學習領域,在國內的經典書籍,要好好研讀;

(9)工作&專案&比賽實戰

學到了這裡,Python就已經上路了。這時,你已經對Python生態、用它能做什麼、不能做什麼有了一定的瞭解;在接下來,你需要去學習資料庫、演算法、其他語言、計算機網路、大資料等技術棧的理解,這些需要自己另外摸索了。

基本上,使用Python還是做一個調包俠,核心還是要牢牢抓住實際工程的需要,除了技術本身之外,對業務和產品的理解也都非常重要。

此貼已完結,共勉。