據我所知,寫Python模塊私有/保護功能,使用如何在python中編寫模塊私有/受保護的方法?
def _func():
...
,但我有專門的覆蓋對象層次。此外,我想隱藏內部實現(因爲它不適合外部使用,所以我希望在不破壞代碼的情況下改進它,並不是我認爲除了我之外任何人都會使用它)。如果我使用
class Paragraph(Tag):
def _method(self):
...
,並嘗試從不同類的子類標籤的IntelliJ IDEA(可能pylint的/其他跳棋也)給我一個警告,叫_method。有沒有什麼辦法解決這一問題?
我的用例是一組markdown標記對象,用於生成可以轉換爲正確的markdown字符串的「Tree」狀結構。每個標記都會覆蓋受保護的方法以轉換其自身以及其包含的標記,並且某些方法會覆蓋檢查子標記是否有效的方法(例如,沒有嵌套的粗體)。只有頂級標記上下文才有公共方法來轉換樹。
編輯:
IntelliJ IDEA的警告:
訪問類的保護成員_method
「冒犯」電話是什麼樣的? –
爲什麼不直接忽略Intellij警告?對於這樣的電話,Pylint不會對此產生任何影響,順便說一句。這只是一個慣例,而你正是按照慣例正確使用慣例。 –
可能的重複:http://stackoverflow.com/questions/1301346/the-meaning-of-a-single-and-a-double-underscore-before-an-object-name-in-python – lorenzog