#class #python-3.8
#класс #python-3.8
Вопрос:
Есть ли способ совместно использовать сеттер для значений свойств класса? Допустим, у меня есть простой класс с двумя свойствами a
, b
и я хочу иметь для них один и тот же сеттер, как бы я связал декораторы, чтобы заставить его работать?
class A:
def __init__(self, a = 1, b = 0):
self.a = a
# self.b = b
def setter(self, value = 0,
start = 0, end = 1):
prop = locals()['self']
if start <= value <= end:
return value
else:
raise ValueError()
@property
def b(self): return self._b
@b.setter
@setter
def b(self, value):
pass
@property
def a(self): return self._a
@a.setter
def a(self, value):
self._a = self.setter(value)
t = A(a = .2, b = 0)
print(t.a)