簡體   English   中英

如何在python和__doc__中使用訪問修飾符?

[英]How to work with access modifiers in python & __doc__?

oops概念的新手,所以基本上我基本上了解通用的oops概念。 但要盡全力使一個類中的變量成為public私有和受保護的。 我知道使用1和2下划線和變量名來完成它們。 您如何初始化訪問修飾符,調用它們為它們設置一個值? 基本上我正在尋找一個一般的例子/語法。

我也一直在閱讀有關python的很多文章。 但我從未發現與doc有關的東西,有人可以概述一下它的工作原理。

萬分感謝

Python沒有專用字段或方法的概念。 但是,以兩個下划線開頭但不以兩個下划線結尾的標識符將與類名“混合”以防止意外覆蓋。 您可以在此處找到更多信息

那是語言的一部分。 作為編程慣例,以單個下划線開頭的標識符應視為私有。 這是一個禮貌的要求,沒有得到執行...但是保留單個下划線的名稱是一個真正的好主意。

我知道的另一個下划線約定是,當不打算在循環中使用控制變量時,通常在for循環,列表理解或生成器表達式中使用由單個下划線組成的名稱。 例如,執行n次操作可能類似於:

for _ in range(n):
    ...statements to repeat

Python沒有私有變量,以下划線(_)開頭的屬性是一種指示其對其他程序員私有的方式,有關更多詳細信息,請參見此處

由於沒有私有變量,因此可以像其他變量一樣修改以下划線開頭的變量。

class MyClass():
     """Docstrings are important"""
     def __init__(self):
         self._myPrivateNumber = 42


C = MyClass()
C._myPrivateNumber #42
C._myPrivateNumber = 1
C._myPrivateNumber #1
setattr(C, '_myPrivateNumber', -1)
C._myPrivateNumber #-1

我假設您也想了解__doc__ 它稱為文檔字符串,用於記錄對象。 它是在聲明后立即從字符串創建的,例如C的文檔字符串C.__doc__是字符串"Docstrings are important"文檔字符串"Docstrings are important"您可以在此處了解如何創建它。 如果文檔字符串沒有提供__doc__'' 它們還用於創建幫助信息,即help(C)將使用文檔字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM