Python 3 之後的版本可以用任何 Unicode 字元當作識別字 (identifier) 名稱,識別字命名的基本規則是不能用關鍵字 (keyword) ,也不能用運算子 (operator) 或空白符號,多個英文單字組合的識別字中間也不能有空白符號。
Unicode 字元包含大部分的中文字,雖然說用中文當識別字名稱是合法的,可是標準程式庫 (standard library) 跟大量第三方程式庫 (third-party library) 都是使用英文命名識別字,因此如果要保持跟標準程式庫命名的一致性,以及跟國外開發者接軌,基本上仍是以英文來命名識別字名稱比較好。
變數 = 1
print(變數)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:naming02.py
# 功能:示範錯誤的縮排
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 naming02.py |
1 |
$ |
關於命名風格方面,自己想要什麼樣的風格都可以,倒是不同的開發團隊會有不同的命名習慣,因此識別字的命名風格需要跟團隊一致,如果還沒加入任何開發團隊也沒關係, Python 社群有長期累積的程式撰寫風格,其中包括識別字命名,我們可以先學習 Python 社群的風格,以後再學習團隊的命名習慣。
Python 官網提供程式碼風格指南文件 PEP 8 ,網址如下連結。
Python 也是 Google 的主要開發語言之一, Google 同樣提供他們的 Python 風格指南,網址如下連結。
以下從 PEP 8 擷取命名風格以資說明,首先變數 (variable) ,包括大量的區域變數 (local variable) 及函數 (function) ,很多是用單一個英文小寫字母或是英文小寫字母組合,英文小寫字母組合可以用底線連結,至於常數,也就是打算保持不變的值,這會用單一個英文大寫字母或是英文大寫字母組合,同樣英文大寫字母組合可以用底線連結。
- b
- B
- lowercase
- lower_case_with_underscores
- UPPERCASE
- UPPER_CASE_WITH_UNDERSCORES
英文單字組合都以大寫字母開頭的話,這叫做大寫駝峰型,通常用來命名類別 (class) ,而英文單字組合只有第一個單字的頭字母是小寫的話,這叫做小寫駝峰型,通常用來命名屬性 (attribute) 及方法 (method) 。
- CapitalizedWords
- mixedCase
此外, PEP 8 不建議大寫駝峰型卻用底線連接英文單字。
- Capitalized_Words_With_Underscores
相關教學影片