在 Python 中,命名約定在物件命名中起著至關重要的作用。物件名稱前的單下劃線和雙下劃線具有特定意義,可指導程式設計師理解該物件的範圍和可訪問性。
物件名稱中的單一前導下劃線表示它供類內部使用。這是一種指示物件不打算從類別外部存取或修改的方法。但是,需要注意的是,此約定是指導原則,而不是強制限制。
單下劃線也用來表示不應從其他地方導入的模組或函數。透過在物件名稱前面加上底線前綴,它向其他程式設計師表明它應被視為私有元素。
雙前導底線用於名稱修改,這是一種在幕後修改物件名稱的技術。此轉換將物件的名稱替換為包含類別名稱和底線的修改版本。
根據 Python 文檔,雙底線表示物件應被視為當前類別中的私有變數或方法。然而,重要的是要明白名稱修改並不是絕對的。有決心的個人仍然可以存取或修改標記為私有的變數。
讓我們考慮以下Python 類別:
class MyClass(): def __init__(self): self.__superprivate = "Hello" self._semiprivate = ", world!" mc = MyClass() print(mc._semiprivate) # Accessible print(mc.__superprivate) # Not accessible outside the class
中在此範例中,__superprivate 變數使用雙底線標示為私有,而_semiprivate 變數使用單下劃線下劃線。 __superprivate 變數在類別外部不可訪問,而 _semiprivate 變數可以訪問,但應被視為類別內部。
以上是Python 物件名稱中的單下劃線和雙下劃線有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!