8
मैं एक संपत्ति विधि का उपयोग करने के लिए निम्न वर्ग परिभाषा के साथ, एक वर्ग उदाहरण की स्थिति निर्धारित करने के लिए कोशिश कर रहा हूँ बुलाया जा रहा है:सेटर विधि
class Result:
def __init__(self,x=None,y=None):
self.x = float(x)
self.y = float(y)
self._visible = False
self._status = "You can't see me"
@property
def visible(self):
return self._visible
@visible.setter
def visible(self,value):
if value == True:
if self.x is not None and self.y is not None:
self._visible = True
self._status = "You can see me!"
else:
self._visible = False
raise ValueError("Can't show marker without x and y coordinates.")
else:
self._visible = False
self._status = "You can't see me"
def currentStatus(self):
return self._status
परिणाम यद्यपि से ऐसा प्रतीत होता है कि सेटर विधि को निष्पादित नहीं किया जा रहा है, हालांकि आंतरिक चर बदल दिया जा रहा है:
>>> res = Result(5,6)
>>> res.visible
False
>>> res.currentStatus()
"You can't see me"
>>> res.visible = True
>>> res.visible
True
>>> res.currentStatus()
"You can't see me"
मैं क्या गलत कर रहा हूं?