標籤:

第二講:Python 基礎知識學習

根據猴子老師的要求,已看完菜鳥教程里的Python3教程,雖然後面的網路編程看不太懂,但前面的基本內容都已熟悉,並將裡面的實例代碼一一實踐。菜鳥教程對於零基礎的小白來說有些還是有點難懂,然後又看了廖雪峰老師的Python教程,並在網易課堂找了視頻來學習。多管齊下,理解會更透徹。

猴子老師這一關課程的主要內容也是針對Python的基礎知識學習,務必讓我們為後面更深層次的學習打好基礎。

以下是我學習猴子老師的課程後結合菜鳥教程等做的總結和實踐。


一、人生苦短,我用Python

Python的意義之於數據分析,就是當下越來越流行的分析工具,學會它可以緊跟時代的步伐,提高工作效率等。大家按需學習,不多贅述。

二、安裝Python

首先下載並安裝Anaconda,Anaconda是包管理器和環境管理器,裡面附帶了一大批常用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。安裝步驟猴子老師已經寫的非常詳細,但我還是安裝了三遍才完全弄明白(勤能補拙?)。請見初學python者自學anaconda的正確姿勢是什麼??

其次在Anaconda中安裝Jupyter notebook,猴子老師說它是數據分析的草稿本,可以能將代碼、文檔等這一切集中到一處,讓用戶一目了然。具體步驟猴子老師也詳細寫出,不贅述,請見jupyter notebook 可以做哪些事情?

安裝好後輸入人生中第一行Python代碼:

三、Python的四個基本關鍵點:數據、條件判斷、循環、函數

(一)數據:是數據分析的原材料,有五個類型:字元串,數字,容器,布爾,None

  • 在 Python 中,變數沒有類型,我們所說的"類型"是變數所指的內存中對象的類型。等號(=)用來給變數賦值。等號運算符左邊是一個變數名,等號運算符右邊是存儲在變數中的值。
  • Python中單行注釋以 # 開頭,多行注釋可以用多個 # 號,還有 """

1、字元串(String)

  • Python中的字元串用單引號()或雙引號(")括起來,同時使用反斜杠()轉義特殊字元。
  • 索引值以 0 為開始值,-1 為從末尾的開始位置;
  • 注意:print (str[2:5])表示輸出從索引為2到索引為5,但不包括索引為5的字元;
  • Python中的字元串不能改變;

示例:

2、數字(Number)

  • 整型:即整數,包括負數
  • 浮點型:即小數

示例:

3、容器:包括列表、元祖、集合、字典

1)列表(List)

  • 列表是寫在方括弧[ ]之間、用逗號分隔開的元素列表;
  • 列表中元素的類型可以不相同,它支持數字,字元串甚至可以包含列表(所謂嵌套);
  • List中的元素是可以改變的。

示例:

2)元祖(Tuple)

  • 元組寫在小括弧( )里,元素之間用逗號隔開;
  • 元組(tuple)與列表類似,但元組的元素不能修改;
  • 雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表;
  • 構造包含 0 個或 1 個元素的元組比較特殊,有一些額外的語法規則

tup1 = ( ) # 空元組

tup2 = (2,) # 一個元素,需要在元素後添加逗號

示例:

3)集合(Set)

  • 集合是一個無序不重複元素的序列。基本功能是進行成員關係測試和刪除重複元素。
  • 可以使用大括弧 { } 或者 set() 函數創建集合;注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。

示例:

4)字典(Dictionary)

  • 字典是一種映射類型,用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合;
  • 不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住;
  • 鍵必須不可變,所以可以用數字、字元串或元組充當,而不能用列表。
  • 列表是有序的對象結合,字典是無序的對象集合。兩者間的區別:字典當中的元素是通過鍵來存取,而不是通過偏移存取。

示例:

4、布爾值(Bool)

  • 布爾值和布爾代數的表示完全一致,一個布爾值只有TrueFalse兩種值;
  • 布爾值可以用andornot運算;
  • 布爾值經常用在條件判斷中。

示例:

5、空值(None)

  • None不能理解為0,因為0是有意義的,而None是一個特殊的空值。

示例:

(二)、條件判斷

  • 主要有if ,if···else , if···elif(else if)三種
  • 一般單(多)個條件判斷的格式為:
  • if <條件判斷1>:

    <執行1>

    elif <條件判斷2>:

    <執行2>

    else:

    <執行3>
  • 邊界條件有:值比較和邏輯比較

示例:

(三)、循環

  • 把容器中的每一個數據都按照特定的規則進行重複處理;
  • 有for和while循環,python中使用較多的是for循環;
  • for循環語句的基本格式為:

  • break語句可以提前退出循環;
  • continue語句,跳過當前的這次循環,直接開始下一次循環。

示例:

(四)、函數

  • 函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段;
  • 在Python中有許多內置函數可直接調用,也可自定義函數;
  • 自定義函數的一般格式為:

  • 參數傳遞:如果函數參數是字元串、元祖和數字這三種不可更改的對象,參數傳遞時,相當於傳遞的是複製出來的數據,對於數據本身沒有影響;
  • 變數作用域:定義在函數內部的變數擁有一個局部作用域,定義在函數外的擁有全局作用域。局部變數只能在其被聲明的函數內部訪問,而全局變數可以在整個程序範圍內訪問。調用函數時,所有在函數內聲明的變數名稱都將被加入到作用域中。

示例:

四、模塊和包

  • 模塊是一個包含所有你定義的函數和變數的文件,其後綴名是.py。模塊可以被別的程序引入,以使用該模塊中的函數等功能;
  • 模塊有內置模塊和第三方的包;
  • 引入模塊方法:import+包名稱/ import+包名稱+as+別名/ from+包名稱+import+函數名。

示例:

五、數據結構(collections)

1、雙向列表:隊列和棧

  • 使用List 存儲數據時,按索引訪問元素很快,但是插入和刪除元素就很慢,因為List是線性存儲,信息量大時,插入和刪除效率很低。
  • deque函數可用於隊列和棧中, 高效實現插入和刪除操作的雙向列表。
  • 可用append()、pop()、appendleft()、popleft()實現插入和刪除操作。

示例:

2、排序字典

  • 一般字典生成元素是無序的,可用Ordered()函數排序

示例:

3、計數器

  • 可用Counter()函數自動計算元素出現的次數

示例:

六、總結

  • 學習Python理論要結合實踐才能真正理解。
  • 儘管教程或課程上有些示例看起來簡單,可當自己照著來敲代碼,還是會出現很多問題,而這些問題就是自己不理解的地方,解決了,也就進步了。
  • 群內小夥伴們都太給力,我也要加油!

推薦閱讀:

5大招式,提升數據增長必備的「數據思維」
一鍵製作同環比,從此業務分析不必愁~
大數據時代的入門書單(一)

TAG:数据分析 |