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
인지 설명 할 수 있습니까?파이썬 개인 속성
감사합니다. 하지만 다른 질문이 있습니다. 만약 내가''print A() .'' 나는'5'를 얻었습니다. get 메소드가 속성 꾸미기와 작동하는 것처럼 보입니다. –
'A()'는'A' 타입의 새로운 객체를 생성하기 때문에. 그리고 생성자 메쏘드는'__var' 멤버 속성을'5'로 초기화합니다. '.var '에 대한 후속 속성 접근은 새로 생성 된'A' 객체를 질의하고'5'를 반환합니다. – Santa
파이썬 3에서는 이와 같이 할 필요가 없습니다. – riza