Проверка свойств при записи в ООП в Python
Давайте будем проверять значения свойств
на соответствие определенному условию
с помощью метода __setattr__:
class Test:
def __setattr__(self, name, value):
match name:
case 'prop1':
if value > 0 and value < 10:
super().__setattr__(name, value)
case 'prop2':
if value > 10 and value < 20:
super().__setattr__(name, value)
case _:
print('property not exists')
def __getattr__(self, name):
return super().__getattribute__(name)