Python標識符


1. 有效的Python標識符規則:

(1)長度任意長;
(2)標識符不能與關鍵字同名;
(3)在2.x版本的Python中,標識符以ASCII的字母或下划線開始,后面可以接字母、數字、下划線; 在3.x的Python中,標識符ASCII字母、下划線以及大多數非英文語言的字母,只要是Unicode編碼的字母都可以充當引導字符,后續字符可以是任意引導符,或任意非空格字符,包括Unicode編碼中認為是數字的任意字符。(因此可以使用阿拉伯語、中文、日語或俄語字符或Unicode字符集支持的任意其他語言中的字符進行命名)

2. 約定:

(1)不要使用Python預定義的標識符名,因此要避免使用NotImplemented與Eliiipsis等名字,這些在未來有可能被Python的新版本使用到;
(2)不要使用Python內置函數名或內置數據類型或異常名作為標識符名;
(3)關於下划線的約定,名字的開頭和結尾都使用下划線的情況應該避免,因為Python中大量采用這種名字定義了各種特殊方法和變量;在有些情況,以一個或兩個下划線引導的名稱,但是沒有使用兩個下划線結尾的應該特殊對待。

3.Python專用下划線標識符

首先,建議盡量避免使用下划線作為標識符的開始
(1)單下划線開頭的變量名
模塊級私有,這個被常用於模塊中, 在一個模塊中以單下划線開頭的變量和函數被默認當作內部函數如果使用 from a_module import * 導入時,這部分變量和函數不會被導入,除非除非模塊或包中的“__all__”列表顯式地包含了它們。不過值得注意的是,如果使用 import a_module 這樣導入模塊,仍然可以用 a_module._some_var 這樣的形式訪問到這樣的對象。
在類中,“單下划線” 開始的成員變量叫做保護變量,意思是 只有類對象和子類對象自己能訪問到這些變量;
使用單下划線私有變量,是程序員的一個很好的習慣
(2)雙下划線開頭的變量名(不是以雙下划線結尾)
類的私有成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個數據。

即如果有一 Test 類里有一成員 __x,那么 dir(Test) 時會看到 _Test__x 而非 __x。這是為了避免該成員的名稱與子類中的名稱沖突。但要注意這要求該名稱末尾沒有下划線。

(3)雙下划線開頭,雙下划線結尾的變量名

python里特殊方法專用的標識,如 __init__()代表類的構造函數。

(4)單下划線_(了解即可)

通常情況下,會在以下3種場景中使用:

a) 在解釋器中:在這種情況下,“_”代表交互式解釋器會話中上一條執行的語句的結果。

b)作為一個名稱: “_”作為臨時性的名稱使用。這樣,當其他人閱讀你的代碼時將會知道,你分配了一個特定的名稱,但是並不會在后面再次用到該名稱。例如,下面的例子中,你可能對循環計數中的實際值並不感興趣,此時就可以使用“_”;

c)國際化:也許你也曾看到”_“會被作為一個函數來使用。這種情況下,它通常用於實現國際化和本地化字符串之間翻譯查找的函數名稱,這似乎源自並遵循相應的C約定。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM