3
class A():
def __init__(self):
self.__var = 5
def get_var(self):
return self.__var
def set_var(self, value):
self.__var = value
var = property(get_var, set_var)
a = A()
a.var = 10
print a.var == a._A__var
Может кто-нибудь объяснить, почему результат False
?python частный атрибут
спасибо. Но у меня есть другой вопрос. Почему, если я просто делаю 'print A(). Var' i получил' 5' Похоже, что get method работает с декоратором свойств. –
Поскольку 'A()' создает новый объект типа 'A'. И метод конструктора инициализирует атрибут '__var' элемента' 5'. Последующий доступ к свойствам '.var' запрашивает вновь созданный объект' A' и возвращает '5'. – Santa
В Python 3 вам не обязательно делать это. – riza