Скрытие данных в классе Python

Я знаю, что атрибуты класса, объявленные с помощью префикса с двойным подчеркиванием __ , могут быть или не отображаться вне определения класса. Поскольку мы все еще можем получить доступ к этим атрибутам с помощью object._className__attrName .

class A:
    def __init__(self):
        self.a = 1
        self.b = 2
        ----
        ----
        self.z = 26
        self.catch = 100

Теперь, чтобы защитить все атрибуты, кроме атрибута catch , я должен объявить их с двойным подчеркиванием, что довольно беспорядочно. Могу ли я сказать в своем определении класса, что только self.catch может быть доступен вне класса?

Приносим извинения, если ответ на этот вопрос был дан где-то еще или обсуждался ранее.

9
задан Teo Klestrup Röijezon 26 January 2012 в 20:56
поделиться