Я знаю, что атрибуты класса, объявленные с помощью префикса с двойным подчеркиванием __
, могут быть или не отображаться вне определения класса. Поскольку мы все еще можем получить доступ к этим атрибутам с помощью object._className__attrName
.
class A:
def __init__(self):
self.a = 1
self.b = 2
----
----
self.z = 26
self.catch = 100
Теперь, чтобы защитить все атрибуты, кроме атрибута catch
, я должен объявить их с двойным подчеркиванием, что довольно беспорядочно. Могу ли я сказать в своем определении класса, что только self.catch
может быть доступен вне класса?
Приносим извинения, если ответ на этот вопрос был дан где-то еще или обсуждался ранее.