習慣上識別字的命名仍是以英文字母大寫 A-Z (\u0041-\u005a),小寫 a-z (\u0061-\u007a) ,底線符號 (_, \u005f) 與數字 0-9 (\u0030-\u0039) 為主。如下
_ | ||||||||||||
a | b | c | d | e | f | g | h | i | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | y | z |
A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
通常識別字會由具有意義的英文單字組成,因此會由字母開始,而非數字 (0-9) 、底線符號 (_) ,至於單字數量依需要而定。如果單一識別字利用超過一個英文單字組成,各單字之間不可有空格,因為空格會讓編譯器認為是前後分別是兩個不同的識別字。
注意,任何識別字都不能用數字 (0-9) 開頭,也就是不能拿數字作為識別字的第一個字元,因為數字會先被當成 literal 處理。識別字的第二個字元後就沒有限制,可以用數字或是任何 Unicode 符號。
連接多英文單字組合的識別字,可用底線符號 (_) ,或是大寫駝峰型 (upper camel case) 或是小寫駝峰型 (lower camel case) 。大寫駝峰型如
SimpleGame MyStory ThreadTestDrive RunThreads TextArea Button_One Midi_Event Short_Message My_Object B_Example
小寫駝峰型如
actionPerformed setUpNetworking doSomething getField getTitle make_Event turn_Oven_On take_Risk print_List my_Canvas
若是只使用一個英文單字,下面是全部用小寫字母的例子
clone equals i obj1 move paint run play sleep name color
首字母大寫的例子
Zoo Animal Bird Day Outter Producer Server Data Filename Example
或全部的字母都大寫,如用在常數 (constant)
START END RIGHT BEGIN
一般來說,應避免使用單獨使用英文字母小寫 l 、大寫 O 、大寫 I 當成變數名稱,因為 l 與 I 容易與數字 1 搞混,而 O 容易與數字 0 混淆。
自行命名的識別字名稱應統一格式,一般來說,模組 (module) 名稱會用小寫英文單字,類別名稱會用首字母大寫的英文單字或大寫駝峰型,成員用某一英文單字的小寫或多單字組合成的小寫駝峰型,或是都以底線連接各單字。
識別字名稱所採取的英文單字最好跟用途有關,因為這樣才容易辨識該識別字的用途,後續維護或與團隊間溝通也才比較方便。此外, Python 有大量的 built-ins 名稱,自行定義的識別自應避免與 built-ins 相同。
中英文術語對照 | |
---|---|
識別字 | identifier |
變數 | variable |
函數 | function |
類別 | class |
大寫駝峰型 | upper camel case |
小寫駝峰型 | lower camel case |
常數 | constant |
模組 | module |
參考資料
http://docs.python.org/py3k/reference/lexical_analysis.html
http://www.python.org/dev/peps/pep-0007/
http://www.python.org/dev/peps/pep-0008/
http://www.python.org/dev/peps/pep-0257/
http://docs.python.org/py3k/reference/lexical_analysis.html
http://www.python.org/dev/peps/pep-0007/
http://www.python.org/dev/peps/pep-0008/
http://www.python.org/dev/peps/pep-0257/
沒有留言:
張貼留言