Python IV

2019/11/14
林弘祥

課程簡介

  • 複習之前的上課內容
  • Function & Lambda Function
  • package: mathplotlib

複習之前的上課內容

Comparison Operator

  • 大於: >
  • 大於等於: >=
  • 小於: <
  • 小於等於: <=
  • 等於: ==
  • 不等於: !=

Logical Operator

  • 且(and): and
  • 或(or): or
  • 非(not): not

List 串列

[...]  # list(...)
  • 屬於python基本資料結構
  • 可容納不同變數類型

操作方法

  • 用[]建立列表
  • [ x ]: 取出第 x 個元素
  • [ f : d ]: 取出第 f 個元素到第 (d-1) 個元素
  • .append(x): 將 x 加入列表尾端
  • .remove(x): 將第一個元素 x 移除
  • len(list): 取得list的元素個數
#### Example ```python X = [1, 2, 1, 'owo'] print(X[3]) # 'owo' X.append('ouo') X.remove(1) print(X) # [2, 1, 'owo', 'ouo'] ```

Tuple 元組

(...)  # tuple(...)
  • 屬於python基本資料結構
  • 可容納不同變數類型
  • 內容無法被改變

操作方法

  • 用()建立列表
  • [x]: 取出第`x`個元素
  • [f:d]: 取出第`f`個元素到第`(d-1)`個元素
  • len(tuple): 取得tuple的元素個數
  • .count(x): 計算有幾個`x`元素
#### Example ```python X = (1, 2, 1, 'owo') print(X[3]) # 'owo' # X[0] = 123 # Error: not support item assignment Y = X + X # join # Y = (1, 2, 1, 'owo', 1, 2, 1, 'owo') print(Y.count('owo')) # 2 ```

Function & Lambda Function

def donothing(): pass
dosomething = lambda x: x+1

Function

  • 一塊僅在被呼叫時才執行的 code
  • 可以傳入參數 / 傳回結果
  • 去除重複的部分, 讓程式撰寫更具效率
### 建立 & 使用 使用 `def` 關鍵字建立, 注意縮排 ```python def hello(): print('owo)/ Hello') hello() # owo)/ Hello hello() # owo)/ Hello hello() # owo)/ Hello ```
### 練習時間 寫一個函數計算帶入參數的平均值, 最大值, 最小值
### 練習時間 寫一個函數計算帶入參數的平均值, 最大值, 最小值 ```python def test(*S): sum, min, max = 0, S[0], S[0] for x in S: sum = sum + x if x > max: max = x if x < min: min = x avg = sum / len(S) print(f'Average: {avg}, Max: {max}, Min: {min}') test(1, 2, 3) # Average: 2.0, Max: 3, Min: 1 test(2, 2, 2) # Average: 2.0, Max: 2, Min: 2 ```

Lambda Function

  • Is a small anonymous function
  • Only have one expression.

Python: package

  • 模塊化程式設計
  • 使程式開發更具可讀性, 可靠性和可維護性

matplotlib

  • 類matlab第三方庫
  • 可用很簡便的代碼繪製一些圖形

安裝 matplotlib

python -m pip install -U matplotlib