使用編碼:
在第一行或者第二行輸入以下三種之一:
# coding : utf-8
# coding = utf-8
# -*- coding:utf-8 -*-
前單下劃線:
是一個python命名約定表示這個名稱是供內部使用的,它通常不是由
python解釋器強制執行,僅僅作爲對程序員的提示
通配符導入(from my_module import *)則python不會導入帶有前下劃線的名稱
如果遵循PEP8 推薦避免使用通配符導入
後單下劃線:
是一個約定用來避免與python關鍵字產生名字衝突。PEP8 解釋這個約定
雙前下劃線:__var:
雙下劃線前綴會導致python解釋器重寫屬性名稱,以避免子類中的命名衝突
雙下滑線名稱修飾對程序員是完全透明的,既不能直接訪問(類似private)
__MangleGlobal__mangled = 23
class MangleGlobal :
def test(self):
return __mangled
MangleGlobal().test() 的到的值爲23
python解釋器自動將名稱__mangled擴展爲__MangleGlobal__mangled
因爲它以兩個下劃線字符開頭,這表明名稱修飾不是專門與類屬性關聯的,
它適用於在類上下文中使用的兩個下劃線字符開頭的任何名稱。
雙下劃線開始和結尾 __var__:
表示python語言定義的特殊方法,避免在你自己的屬性中使用這種命名方法
單下劃線 _ :
有時作用臨時或者無意義變量的名稱(不關心)。
也表示python REPL中最近一個表達式的結果
>>> 20 + 3 ==>23
>>> - ==>23 最近表達式結果
car = ("red", "auto", 12, 1024)
color,_,_,length = car;
print(color) ==> red
print(length) ==> 1024
print(_) ==> 12