python中的下劃線

2021-07-01 21:11:22 字數 641 閱讀 8958

1,以乙個下劃線開頭的命名 ,如_getfile

這個被常用於模組中,在乙個模組中以單下劃線開頭的變數和函式被預設當作內部函式,如果使用 from a_module import * 匯入時,這部分變數和函式不會被匯入。不過值得注意的是,如果使用 import a_module 這樣匯入模組,仍然可以用 a_module._some_var 這樣的形式訪問到這樣的物件。這種變數叫做「保護變數」,代表不能直接訪問的類屬性,只有類物件和子類物件自己能訪問到這些變數,需通過類提供的介面進行訪問,不能用「from *** import *」而匯入。

2,以兩個下劃線開頭的命名 ,如__filename

以雙下劃線開頭的(__foo)代表類的私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個資料;

3,以兩個下劃線開頭和結尾的命名,如 __init__()

雙下劃線開頭雙下劃線結尾的是一些 python 的「魔術」物件,如類成員的 __init__、__del__、__add__、__getitem__ 等,以及全域性的 __file__、__name__ 等。 python 官方推薦永遠不要將這樣的命名方式應用於自己的變數或函式,而是按照文件說明來使用。

參考:

Python中單下劃線和雙下劃線

python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。class a def init self,text self.text text def str self return self...

Python中單下劃線和雙下劃線

雙下劃線開頭和結尾 python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。classa def init self,text self.text text def str self re...

python中單下劃線 和雙下劃線(

函式使用單下劃線 開頭 使用單下劃線 開頭的函式 func不能被模組外部以 from module www.cppcns.comimport 形式匯入。但程式設計客棧可以用 from module import func形式單獨匯入。類屬性和類方法使用單下劃線 開頭 開頭為保護型別的屬性和方法,僅允...