Вывод выглядит немного подозрительно, учитывая следующий код. Почему «войти в базу» печатается только один раз? И почему вообще не печатается "set in Base"? Фактическое получение / установка, кажется, работает хорошо все же. Чего мне не хватает?
class Base:
def __init__(self):
self.s = "BaseStr"
def getstr(self):
print "get in Base"
return self.s
def setstr(self, s):
print "set in Base"
self.s = s
str = property(getstr, setstr)
b = Base()
print b.str
b.str = "Foo"
print b.str
Выход:
get in Base
BaseStr
Foo