【发布时间】:2016-12-11 07:35:27
【问题描述】:
在其中一篇博客中,我有以下代码,我用它来了解 python property 的工作原理。
class Celsius:
def __init__(self, temperature = 0):
self._temperature = temperature
def to_fahrenheit(self):
return (self.temperature * 1.8) + 32
@property
def temperature(self):
print("Getting value")
return self._temperature
@temperature.setter
def temperature(self, value):
if value < -273:
raise ValueError("Temperature below -273 is not possible")
print("Setting value")
self._temperature = value
Q1:__init__方法下,作者为什么用self._temperature。不应该是self.temperature吗?控件将如何转到@temperature.setter?
【问题讨论】:
-
我希望你在python 3下运行这个,在python 2上你需要从
object继承你的类。 -
"控制权如何转到
@temperature.setter?" - 它不会。
标签: python properties