Junior — Middle
Avez-vous de l'expérience dans la description des propriétés d'objets ou de composants?
sobes.tech IA
Réponse de l'IA
В Python для описания свойств объектов часто используют декоратор @property. Он позволяет определить методы, которые ведут себя как атрибуты, обеспечивая контроль доступа к данным и возможность добавлять логику при чтении или записи значения.
Пример:
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name
@name.setter
def name(self, value):
if not value:
raise ValueError("Имя не может быть пустым")
self._name = value
p = Person("Иван")
print(p.name) # Иван
p.name = "Пётр" # изменение с проверкой
Такой подход помогает инкапсулировать логику доступа к свойствам и делает код более читаемым и безопасным.