Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen 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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 7.69

bookAttributes Annotations

Swipe um das Menü anzuzeigen

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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt