• 1400/01/18

Descriptor in python :

سلام من هنوز نتوستم درک کنم 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)

 

 

logo-samandehi logo-anjoman-senfi