I am new to your community. Sorry for my English. I am interested in Python languages. Please help me understand descriptors. I don't know how to use descriptors and _slots_ in class Calendar at the same time. Here is an example of my code:
class dateValue:
def __checkValue(value):
if isinstance(value, int) or isinstance(value, float):
return True
return False
def __set_name__(self, owner, name):
self.__name = name
def __get__(self, instance, owner):
return instance.__dict__[self.__name]
def __set__(self, instance, value):
if dateValue.__checkValue(value):
instance.__dict__[self.__name] = value
else:
raise ValueError("Неверный формат данных")
def __delete__(self, instance):
del instance.__dict__[self.__name]
class Calendar:
#__slots__ = ["day", "month", "year"]
day = dateValue()
month = dateValue()
year = dateValue()
def __init__(self, day=0, month=0, year=0):
self.day = day
self.month = month
self.year = year
cal4 = Calendar()
cal4.day = 3
cal4.month = 3
cal4.year = 2023
day4 = cal4.day
month4 = cal4.month
year4 = cal4.year
print(day4, month4, year4, sep=".")