【发布时间】:2018-02-03 14:28:51
【问题描述】:
我一直在阅读 Python 教程,其中简要讨论了属性。据我了解,当请求类属性时,python 会将请求定向到返回属性的属性方法,以便可以在访问属性之前运行代码。但是为什么这是必要的,在下面的例子中,返回的属性 v 甚至不能用点表示法访问?
@property
def value(self):
if self.is_face_up:
v = BJ_Card.RANKS.index(self.rank) + 1
if v > 10:
v = 10
else:
v = None
return v
【问题讨论】:
-
“被返回的属性甚至不能用点表示法访问” 你什么意思?
YourClass().value工作得很好。 -
是的,我现在意识到您可以在方法上使用点表示法 - 将其视为变量 v。当我写这个问题时,我很困惑,因为我无法通过键入 MyClass 来获取变量 v .v 但现在我知道这不是必需的,因为您可以调用该方法。
标签: python class properties decorator