課程簡介
- 複習之前的上課內容
- Function & Lambda Function
- package: mathplotlib
Comparison Operator
- 大於: >
- 大於等於: >=
- 小於: <
- 小於等於: <=
- 等於: ==
- 不等於: !=
Logical Operator
- 且(and): and
- 或(or): or
- 非(not): not
List 串列
[...] # list(...)
操作方法
- 用[]建立列表
- [ 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