Я пытаюсь создать класс точек, который определяет свойство с именем "координата". Тем не менее, он не ведет себя так, как я ожидал, и я не могу понять, почему.
class Point:
def __init__(self, coord=None):
self.x = coord[0]
self.y = coord[1]
@property
def coordinate(self):
return (self.x, self.y)
@coordinate.setter
def coordinate(self, value):
self.x = value[0]
self.y = value[1]
p = Point((0,0))
p.coordinate = (1,2)
>>> p.x
0
>>> p.y
0
>>> p.coordinate
(1, 2)
Кажется, что p.x и p.y по какой-то причине не устанавливаются, хотя установщик "должен" установить эти значения. Кто-нибудь знает, почему это?