Python-2-基本概念—看一本書要先讀大綱,程式亦然
Python-2-基本概念—看一本書要先讀大綱,程式亦然
零、前言
在一開始看到程式碼時,你會不會有以下疑問?
- 我該怎麼讀程式碼,為什麼有時候感覺要跳著看?
- 為什麼有些程式前面會有空格,有些沒有,有些則有很多空格?
- 程式到底從哪邊開始執行?
這篇文章就會來解釋一下,在閱讀程式碼時我們該怎麼抓住這段程式的精隨大意,如此就不會感到慌張不知所措了!
一、Python 程式碼的架構說明
剛拿到一段程式碼,我們大致可以分成幾種類別來閱讀:
- 套件引用區: 代表我們在這段程式中需要使用那些第三方或者外掛的工具。
- 功能定義區: Function的定義通常會放在程式碼的前面,因為必須先定義,後面程式碼在引用時,電腦才能找得到。
- 主程式起始位置: 整個程式開始運作的起點,以下廚做比喻,前面「套件引用」、「功能定義」可以想像成是煮菜前的備料,主程式起始比較像是「開始煮菜」的過程。
邏輯區塊: Python 中劃分程式區塊主要是透過「縮排」來進行,也就是看起來像是「空格」的東西,跟文章有分段落一樣,程式也有分不同區塊,縮排錯誤就會導致程式邏輯直接錯誤,因此非常重要。
註解說明: 看到
#
開頭的文字敘述就是註解,本身不屬於程式的一部分,1
# 這部分是註解,程式讀到這邊會自動忽略
二、案例說明
這邊先來看一個比較生活化的案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 引用「中式食譜」這個套件裡面的「燒餅豆漿類」的子菜單
from 中式食譜 import 燒餅豆漿類菜單
def 早餐製作(num):
# 從菜單取得料理
soybean_milk = 燒餅豆漿類菜單.豆漿
raydish_cake = 燒餅豆漿類菜單.蘿蔔糕
clay_oven_roll = 燒餅豆漿類菜單.燒餅
# 製作早餐
print(f"製作 {num} 份早餐!")
print(f"製作 {soybean_milk}") # 豆漿
print(f"製作 {raydish_cake}") # 蘿蔔糕
print(f"製作 {clay_oven_roll}") # 燒餅
def 起床(Name):
print(f"{Name} 起床了!")
# 主程式從這邊開始
family_people = 3
now = "morning"
if now == "morning":
# 媽媽要起床
起床("媽媽")
# 準備家庭人數分量的早餐
早餐製作(family_people)
else:
print("現在不是早上")
# ====================以下是程式輸出結果=======================
# 媽媽起床了!
# 製作 3 份早餐!
# 製作 豆漿
# 製作 蘿蔔糕
# 製作 燒餅
ㄚㄚㄚ,頭開始痛了嗎?別緊張,下面來解析一下程式碼的結構:
- 引用套件:
- 在不引入任何套件情況下,Python 只會有基本功能,因此需要引入特殊套件才可以達成特殊目的。
- 可以想像成 Python 就像是自己的雙手,雖然靈活但能做的事有限,要做一些比較複雜的事情時,就需要使用工具箱內的工具。
- Function 定義區塊:
- 這邊定義了兩個 Function,「做早餐」跟「起床」,他們背後都代表著一連串的指令,這些指令透過縮排,代表存在於所屬 Function 的管轄範圍內。
- 主程式邏輯區塊:
- 前面的程式碼都只是定義好我們使用的工具跟功能,這邊才是真正程式開始執行的區塊。
- 閱讀程式碼時,先找到主程式的開頭,再由上而下依序閱讀,就會比較能順著程式邏輯來思考。
三、結論
讀程式碼就跟讀書一樣,都是有技巧的,如果都是從頭開始一字一句看到尾,會很容易事倍功半,先抓住大綱以及大致區塊,再逐一做解析,對於程式的理解與閱讀,效率上就會好非常多。
本文章以 CC BY 4.0 授權