Python基礎
唯客學院
對初學者的建議
使用模組套件
解決問題
鑽研技術
程式全部自己寫
Python的作法
領域專家
CS為主的思維
軟體工程師
電腦科學家
20%基礎功能,80%重要性
80%進階功能,20%重要性
DEMO
OOOOO*
OOOO***
OOO*****
OO*******
O*********
跟創業一樣,寫程式也是要練習
運用有限資源
創造無限可能
Python的使用環境
https://ipython.org/ipython-doc/3/development/how_ipython_works.html
1
2
3
4
使用雲端的 notebook
建議初學者從這個開始!
使用者
Google Colab
Microsoft
4
雲端 notebook
(建議使用Colab)
DEMO
Python的哲學
(圖形取自網路)
(圖形取自網路)
模組A
(解決問題W)
模組B
(解決問題X)
模組C
(解決問題Y)
模組D
(解決問題Z)
基本資料型態
基本容器型別
基本語法
20%
模組
套件
.py檔
管理.py檔的目錄結構
Python 是膠水語言
18
DEMO
20
Python 的檔案類型
主要兩種檔案類型
.py
.ipynb
常看到的 .py 檔的程式架構
22
載入模組 (import)
程式
載入模組 (import)
定義函式 (def)
if __name__=="__main__":
程式
判斷模組是直接被執行,還是被其他模組載入
.ipynb 檔的程式架構
[ ]:
程式
輸出
說明文字、數學式等等
Markdown Cell
(Text Cell)
Code Cell
Jupyter notebook/lab 常用熱鍵及指令
24
DEMO
26
Python 的變數
什麼是變數?
存放資料的
記憶體位址的別名
記憶體位址 (Memory Address)
Memory Address | Value |
0X7E0BECF6C0F0 | 0101 0101 |
0X7E0BECF6C0F1 | 0001 0101 |
0X7E0BECF6C0F2 | 0101 0001 |
0X7E0BECF6C0F3 | 1101 1101 |
0X7E0BECF6C0F4 | 1111 0001 |
0X7E0BECF6C0F5 | 0111 0111 |
0X7E0BECF6C0F6 | 0001 1101 |
0X7E0BECF6C0F7 | 0001 0100 |
沒有取別名記不起來
變數的命名
寫程式!!!不是算數學!!!
X = X + 1
變數記憶體位置
(L-value)
變數內含的值
(R-value)
指派
(assignment operator)
可以使用 Visualize Python 來觀察變數跟記憶體的使用!
程式 = 資料結構 + 演算法
資料型態:
基本語法:
容器型別:
用 type() 檢視變數的資料型態
type(變數名稱)
DEMO
34
Python 的資料型態
什麼是資料型態?
資料型態告訴我們
變數裡面放了什麼
四個基本資料型態 (變數裡面放了單一個東西)
36
int
float
str
bool
0
10
3.14
5.2
“dog”
‘cat’
True
False
四個基本容器型別 (變數裡面放了可以放多個東西的容器)
37
[ ]
( )
{ }
{ }
list
tuple
dict
set
List
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
Indexing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[0]
x[1]
x[2]
x[3]
x[4]
Indexing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[-5]
x[-4]
x[-3]
x[-2]
x[-1]
Slicing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[1:3]
x[1]
x[3]
Slicing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[1: ]
x[1]
Slicing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[ :3]
x[3]
Slicing
x = [ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
x[-3: ]
x[-3]
Tuple
x = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’)
Indexing
x = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’)
x[0]
x[1]
x[2]
x[3]
x[4]
Indexing
x = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’)
x[-5]
x[-4]
x[-3]
x[-2]
x[-1]
Slicing
x = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’)
x[1:3]
Dict
y = {‘apple’:10,
‘orange’:20,
‘banana’:30}
keys (鍵)
values (值)
y = {‘apple’:10,
‘orange’:20,
‘banana’:30}
y[‘apple’]
y[‘orange’]
y[‘banana’]
Set
x = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}
y = {‘c’, ‘d’, ‘e’, ‘f’, ‘g’}
x & y = ? x | y = ?
DEMO
53
Python 的語法
語法可以做什麼?
可以讓程式不是
單調的從上到下執行
Python的語法重點
四種基本語法
條件式 (if statement):
選擇性執行程式區塊。
迴圈 (loops):
重複執行程式區塊。
函式 (functions):
函式被呼叫時,執行函式內的程式區塊。
56
例外處理(Exception Handling):
嘗試執行程式區塊,發生錯誤時,執行例外處理程式區塊。
條件式 (if statements)
參考語法一:
參考語法二:
參考語法三:
迴圈 (Loops)
for loop 參考語法:
範例:
while loop 參考語法:
範例:
函式 (Functions)
函式定義參考語法:
函式呼叫參考語法一:
函式呼叫參考語法二:
例外處理 (Exception Handling)
例外處理參考語法:
DEMO
Thank You!