Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Dog:
- _happiness = 10
- def __init__(self, name, age):
- self.name = name
- self.age = age
- @property
- def human_age(self):
- return self.age * 7.3
- # добавим новое поле - шкала счастья
- @property
- def happinness(self):
- return self._happiness
- # с помощью декоратора setter мы можем неявно передать во второй аргумент значение, находящееся справа от равно, а не закидывать это значение в скобки, как мы это делали ранее, когда не знали о декораторах класса
- @happinness.setter
- def happinness(self, value): # допустим мы хотим, чтобы счастье питомца измерялось шкалой от 0 до 100
- if value <= 100 and value >= 0:
- self._happiness = value
- else:
- raise ValueError("Happiness must be between 0 ... 100")
- jane = Dog("jane", 4)
- jane.happinness = 100 # осчастливим нашу собаку < :
- print(jane.happinness)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement