سلام من هنوز نتوستم درک کنم Descriptor ها رو چرا ارور میده وقتی self.age رو میزاری تو Descriptor همان پراپرتی ها
اما وقتی درون @property اندر لاین میزاری برای self.age و تبدیل به self._age ارور نمیده و کار میکنه داستان چیه؟
اگه تو پراپرتی اسم متغیر age رو تغییر بدیم از کجا میفهمه باید self.age رو کنترل و تنظیم کنه
class User:
def __init__(self, name, family, age):
self.name = name
self.family = family
self.age = age
@property
def age(self):
return self.age
@age.setter
def age(self, value):
if value >= 0:
self.age = value
else:
self.age = 0
user = User("amir", "jabli", -10)
print(user.age)