標籤:

學習Python,你需要掌握這些最少必要知識

記得李笑來曾經在文章中說過,學習任何一項技能,只要掌握最少的必要知識,然後拿去用就可以了。就像游泳一樣,當你學會了划水的動作和換氣的方法,那麼只要在水裡不斷練習就可以了,雖然這個過程中可能會被水嗆到幾次。學習任何技能都是相通的,python的學習也是如此,猴子在數據分析系列課程的第二課中就為我們介紹了python最基本,最常用的一些知識。下面,我簡要記錄了學習中的要點。

首先,猴子談到了python在數據分析領域的重要性,已經逐漸成為該領域的核心語言。當然,要學習python,必須要先安裝好相應的軟體,搭建好環境。至於到底是安裝python2還是python3,這裡面存在兼容性問題,猴子的建議是可以直接學習python3。另外還有兩個非常重要的工具需要安裝,分別是包管理器Anaconda和環境管理器Jupyter notebook。具體介紹和安裝可以關注猴子的知乎個人主頁 zhihu.com/people/houzic,上都有相關介紹性文章。

  1. python的4個關鍵知識點

1)數據類型

python主要有5種數據類型:字元串、數字、容器、布爾、空值None。

其中,字元串和數字比較好理解。容器可以看作是很多字元串或數字組合在一起的表現形式,它分為列表、元組、集合和字典4個類型。在具體的使用過程中,可以根據數據不同的存儲要求,按照不同的語法裝在不同的容器中。容器最常見的操作有三種,分別是增加、刪除和查找。布爾就是兩個判斷語句,True和False,要主要的是首字母都要大寫。None就是告訴python這個變數的值是空的。

2)函數

函數可以成一系列語句分裝在一起的盒子,可以實現具體某個功能輸出,讓代碼看起來更加簡潔和易讀。python中有很多函數可以直接調用,也可以自己用def語句自己定義一個函數,然後在下面的語句中輸入對應的函數名和參數,直接調用就可以了。這裡比較難理解的是

使用函數時,當參數是不可變數據類型(字元串,元組,數值)時,遞的只是該數據類型的值(相當於複製一份);參數是可變數據類型(列表,集合,字典)傳遞的是該變數的引用地址。

這些還要在以後的學習中去繼續領會。另外,還存在一個變數作用域問題,即在函數外部直接訪問函數內部的局部變數是會報錯的。

3)條件判斷

主要是if/else語句,如果有多重條件,就要用到if/elif/else,這些都比較好理解,只要注意每個冒號後的語句的 縮進量,是否是在該條件內。

4)循環

主要用到的語句是for.....in,主要跳出當前循環,執行下一步的命令語句continue,和結束循環的語句break。

2、模塊和包

模塊可以看成事先準備好的一個個python小程序或函數,包就像文件夾一樣,裡面裝著很多模塊。我們只需要在用到的時候知道怎麼引用就可以了。通常有三種方式:

import 包名稱

import 包名稱 as 別名

from 包名稱 import 函數名

python有很多內置的包,我們也可以自行安裝包,具體安裝方法可以見猴子的知乎專欄或上網搜索。

3、數據結構

數據結構就是數據的存儲形式,在數據分析過程中,數據如何存放直接影響著處理效率。前面提到的容器就是一種數據結構。另外,還有幾種比較重要的數據結構需要大致了解一下。

1)隊列

數據按照先後順序排成一列,調用函數進行如列和出列的操作,常見的餐廳中的叫號系統就是用這種數據結構的。

2) 棧

這可以理解為在一個水桶中從底部到頂部存放數據,通過調用函數進行出棧和入棧的函數。猴子在課程中提到的一個小操作可以讓我們很快理解棧的數據結構:就是在他的知乎主頁中分別點擊「動態」「回答」 「文章」,然後按網頁左上方的後退的←按鈕,這時候就會退到「回答」,再按就退到「動態」,這就是出棧的過程;按前進→按鈕,又會到「回答」,「文章」頁面,這就是入棧的過程。很形象。

3)排序字典

在python中默認的字典數據類型,在輸出時的順序並不是按照輸入的順序來顯示的,如果有要求字典中的元素按照某個順序輸出,這時候就要調用排序字典函數OrderedDict。

4)計數器

用counter函數將數據中的每一個元素出現的次數分別列出。

以上4個數據結構所用到的函數都是出自continues這一個包中,我們只要學會調用就可以了。

4、小結

這一堂課我花了兩個下午聽完,並把課程中的代碼在notebook中敲了一遍,算是對python有了感性的認識。就像剛學車的時候,教練的第一堂課就是教你認識油門、剎車、方向盤、換擋器等重要部件,以及這些部件的使用場合和方法。未來,只有在不斷的練習中才能熟悉各個部件的使用方法和性能。學python也一樣,猴子說最好的辦法就是敲代碼實踐,遇到問題學會用搜素工具尋找答案。希望自己不掉隊,實踐實踐再實踐!


推薦閱讀:

Kaggle自行車預測練習-基礎篇
物聯網時代借大數據洞察消費行為
山東數聯教育科技有限公司
kylin 同步問題的patch被採納
轉戰Python,數據分析入門

TAG:大數據分析 |