В следующем фрагменте кода я использую установщик для атрибута x (который я хотел бы оставить приватным)
class test:
def __init__(self, pos, x):
self._pos = pos
self.x = x # Want to be a private variable, eg. self._x
@property
def x(self):
return self._x
@x.setter
def x(self, x):
# Logic for setting x
if self._pos == 'long':
self._x = -1 * abs(x)
elif self._pos == 'short':
self._x = abs(x)
else:
raise ValueError('$$ pos must be long or short')
Проблема в том, что я получаю ДВА атрибута, self.x ANDself._x.Поскольку я хочу, чтобы x был приватным - я бы хотел иметь только self._x (и отменить self.x).Чего не хватает в коде?