Python 入門指南 - 變數命名規則與縮排

Python 3.x 直接支援 Unicode 編碼,因此除了用為運算子 (operator) 的半形字元或特殊字元外,其他的字元都可以拿來當變數 (variable) 名稱




例如下面使用中文「變數」當變數名稱
變數 = 55
print(變數)

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo3.py
# 功能:示範 Python 程式
# 作者:張凱慶
# 時間:西元 2012 年 12 月 


執行結果如下



雖說中文當變數名稱是可行的,但我們不建議用英文字母、數字與底線以外的字元當變數或識別字 (identifier) 名稱,原因很簡單,因為 Python 社群發展已久的大量程式庫 (library) 中,無論是標準模組庫 (standard library) 或第三方模組庫 (third-party library) 幾乎都是以英文為變數取名,若是要把自己開發的程式與 Python 社群接軌,仍是依社群的習慣較理想。習慣上命名識別字的字元如下表
_
abcdefghijklm
nopqrstuvwxyz
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
0123456789


通常是用英文單字或縮寫替識別字命名,注意不能用數字當開頭,以下為合法的變數名稱
variable_name
_code
CODE
_1234
a1234
someThing
SomeThing


函數命名習慣與變數雷同,至於類別 (class) 較常採大寫駝峰型 (upper camel case) ,或用底線連接每個英文單字,例如
Class_Name
ClassName


類別中的方法 (mehod) 與屬性 (attribute) 則較常採用小寫駝峰型 (lower camel case),或用底線連接每個英文單字,例如
method_name
methodName


大體上都是採取有意義的相關英文單字,主要的目的是讓語意清楚。另外須留意 Python 程式裡不能隨意縮排 (indentation) ,因為縮排是 Python 劃分程式區塊 (block) 的方式,例如以下程式
a = 1
print(a)
 a = 3
print(a)

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo4.py
# 功能:示範 Python 程式
# 作者:張凱慶
# 時間:西元 2012 年 12 月 


執行時會發生錯誤



縮排通常會用在控制結構 (control structure) 或函數、類別的定義裡,我們稍後會詳細介紹。接下來,我們繼續看到運算式與陳述


中英文術語對照
運算子operator
變數variable
識別字identifier
程式庫library
標準模組庫standard library
第三方模組庫third-party library
類別class
大寫駝峰型upper camel case
方法mehod
屬性attribute
小寫駝峰型lower camel case
縮排indentation
區塊block
控制結構control structure


您可以繼續參考
基礎篇


相關目錄
回 Python 入門指南
回 Python 教材
回首頁


參考資料
http://docs.python.org/3.1/tutorial/controlflow.html#intermezzo-coding-style
http://www.python.org/dev/peps/pep-0008/

1 則留言:

Unknown 提到...

請問,既然standard library譯作「標準模組庫」,以及third-party library也譯作「第三方模組庫」,那麼library為何譯作「程式庫」、而不是「模組庫」呢?是否為成例?