Python 簡易手冊

單元 8 - 變數、識別字與縮排

程式中常常會用變數 (variable) 來處理資料,變數命名通常會用有意義的英文單字或有意義的英文單字組合,例如

  
number = 10

之所以要用有意義的英文單字,主要原因是方便閱讀及理解,相對也更好維護。 Python 3 之後直接支援 Unicode ,所以程式中也可以用 Unicode 符號命令變數,例如中文

  
數字 = 10

雖然可以用其他語言命名變數,但還是建議只使用英文二十六個大、小寫字母、阿拉伯數字及底線

_
abcdef
ghijkl
mnopqr
stuvwx
yz
ABCDEF
GHIJKL
MNOPQR
STUVWX
YZ
012345
6789

但是要注意避免單獨使用小寫英文字母 l 、大寫英文字母 I ,因為這兩個字母在某些字型容易跟數字 1 混淆,同樣英文字母 Oo 在某些字型也容易跟數字 0 混淆,所以命名上要盡可能語意清楚。

以下是 Python 官方發佈的改進文件 PEP 8 推薦的形式

  
  
  
  
  
  
  
  
b
B
lowercase
lower_case_with_underscores
UPPERCASE
UPPER_CASE_WITH_UNDERSCORES
CapitalizedWords
mixedCase

另外避免以下形式

  
Capitalized_Words_With_Underscores

只使用這些符號的主要原因是 Python 社群發展已久的標準程式庫 (standard library) 或大量第三方程式庫 (third-party library) ,幾乎都是以英文來替變數命名,變數也是識別字 (identifier) 的一種,事實上,社群中絕大多數的識別字都都是以英文命名,需要自行命名的識別字包括

大致上命名分成三大類來看,首先第一類是小寫英文字母或用底線連接的小寫英文字母組合,這些適用在套件、模組、全域變數 (global variable) 、變數、函數、方法及參數,例如

  
module_name

第二類是類別名稱,採用大寫駝峰型 (upper camel case) ,這是每個英文單字的第一個字母大寫,然後不用底線直接連結,例如

  
ClassName

第三類是常數,採用單一個全大寫英文字母單字,或用底線連接的全大寫英文字母單字單字,例如

  
CONSTANT_NAME

然後要注意不能用關鍵字 (keyword) 與運算子 (operator) 命名識別字,識別字也不能以數字開頭,因為數字直接被當成數字的字面常數 (literal) 處理,如下程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 命名錯誤的變數
1a = 10

# 印出命名錯誤的變數
print(1a)

# 檔名: wrong_demo.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 4 月

執行的話,直譯器 (interpreter) 會直接報錯

> python wrong_demo.py
  File "wrong_demo.py", line 2
    1a = 10
    ^
SyntaxError: invalid decimal literal
>

Python 程式碼也需要有一致的縮排 (indentation) 層級,通常是在定義或控制結構之中需要縮排,不然直譯器也會報錯,後續單元的範例會示範縮排方式。

縮排的格數在 PEP 8 建議是 4 格,這方面可自訂,大部分採 2 到 5 格,本書按慣例採 4 格。

參考資料

上一頁 單元 7 - 關鍵字
回 Python 簡易手冊 首頁
下一頁 單元 9 - 型態標記
回 Python 教材首頁
回程式語言教材首頁