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私有屬性
謝謝。 但我有另一個問題。爲什麼如果我只是做'打印A()。var'我得到了'5' 好像get方法使用屬性裝飾器。 – 2010-05-25 12:46:15
因爲'A()'創建一個類型爲'A'的新對象。構造函數方法初始化'__var'成員屬性爲'5'。隨後訪問'.var'的屬性查詢新創建的'A'對象,並返回'5'。 – Santa 2010-05-25 18:39:56
在Python 3中,你不必這樣做。 – riza 2010-05-26 01:01:19