Attributes Annotations
Using annotations starting with @ symbol is a special way to define properties.
- Write
@propertyto defineget()method; - Write
@attribute.setterto define theset()method for the attribute.
We need to do that to explain to Python what these methods are going to be used for.
1234567891011121314151617181920212223class Cat: def __init__(self, name = 'Kitty', age = 1): self.name = name self.__age = age self.__number_of_legs = 4 @property def age(self): return self.__age @age.setter def age(self, age): if isinstance(age, int) and 0<=age<=30: self.__age = age else: print('Invalid value of attribute age') cat = Cat('Maggie', 3) # Adding the wrong value cat.age = -100 cat.age = 5 print(cat.age)
Note
- First, define getter
@propertyand after that – setter@attribute.setter; - Both methods have the same name, that is equal to the attribute name;
- Now, to access the private attribute
__ageoutside the class, you can use thecat.ageexpression;
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 2. Розділ 3
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 7.69
Attributes Annotations
Свайпніть щоб показати меню
Using annotations starting with @ symbol is a special way to define properties.
- Write
@propertyto defineget()method; - Write
@attribute.setterto define theset()method for the attribute.
We need to do that to explain to Python what these methods are going to be used for.
1234567891011121314151617181920212223class Cat: def __init__(self, name = 'Kitty', age = 1): self.name = name self.__age = age self.__number_of_legs = 4 @property def age(self): return self.__age @age.setter def age(self, age): if isinstance(age, int) and 0<=age<=30: self.__age = age else: print('Invalid value of attribute age') cat = Cat('Maggie', 3) # Adding the wrong value cat.age = -100 cat.age = 5 print(cat.age)
Note
- First, define getter
@propertyand after that – setter@attribute.setter; - Both methods have the same name, that is equal to the attribute name;
- Now, to access the private attribute
__ageoutside the class, you can use thecat.ageexpression;
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 2. Розділ 3