深入研究 Python 的單下劃線和雙下劃線
Python 在物件名稱之前使用前導下劃線來傳達特定的含義和行為。
單下劃線:「內部使用」指示符
單一底線表示屬性或方法旨在在其自己的類別中使用。這是阻止外部存取的約定,而不是強制規則。此外,當模組中的函數名稱前面有一個下劃線時,這表示不應從模組外部匯入它們。
雙下劃線:名稱修飾
雙下劃線觸發名稱修改,這是一個過程,其中標識符以類名為前綴,並刪除前導下劃線。這是為「私有」類別成員完成的,以避免與衍生類別或外部程式碼的成員發生衝突。但是,請務必注意,確定的使用者仍然可以存取這些變數。
範例:
在以下範例中,__superprivate 旨在類別外部不可訪問,而_semiprivate則遵循內部使用的約定:
class MyClass: def __init__(self): self.__superprivate = "Hello" self._semiprivate = ", world!"
在類別外存取這些成員時,只有_semiprivate會被揭露:
mc = MyClass() print(mc._semiprivate) # "Hello" print(mc.superprivate) # Attribute error
因此,單下劃線表示預期內部使用,而雙下劃線則保護成員不被名稱修改直接訪問,提供隱私層,但不是絕對安全。
以上是Python 中單底線和雙底線有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!