【发布时间】:2016-11-21 20:59:05
【问题描述】:
我对以下代码有一个有趣的行为:
class MyClass:
def __init__(self):
self.abc = 10
@property
def age(self):
return self.abc
@age.getter
def age(self):
return self.abc + 10
@age.setter
def age(self, value):
self.abc = value
obj = MyClass()
print(obj.age)
obj.age = 12
print(obj.age)
obj.age = 11
print(obj.age)
我得到以下结果:
20
12
11
有人可以解释这种行为吗?
【问题讨论】:
-
你确定你使用的是 Python 3 吗?这看起来像 Python 2 的行为。
标签: python python-3.x properties python-2.x