Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Attributes Annotations | Encapsulation
Object-Oriented Programming in Python

bookAttributes Annotations

Using annotations starting with @ symbol is a special way to define properties.

  • Write @property to define get() method;
  • Write @attribute.setter to define the set() method for the attribute.

We need to do that to explain to Python what these methods are going to be used for.

1234567891011121314151617181920212223
class 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)
copy

Note

  • First, define getter @property and after that – setter @attribute.setter;
  • Both methods have the same name, that is equal to the attribute name;
  • Now, to access the private attribute __age outside the class, you can use the cat.age expression;
question mark

Сhoose the wrong option.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 7.69

bookAttributes Annotations

Свайпніть щоб показати меню

Using annotations starting with @ symbol is a special way to define properties.

  • Write @property to define get() method;
  • Write @attribute.setter to define the set() method for the attribute.

We need to do that to explain to Python what these methods are going to be used for.

1234567891011121314151617181920212223
class 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)
copy

Note

  • First, define getter @property and after that – setter @attribute.setter;
  • Both methods have the same name, that is equal to the attribute name;
  • Now, to access the private attribute __age outside the class, you can use the cat.age expression;
question mark

Сhoose the wrong option.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3
some-alt