Назад к вопросам
Junior — Middle
67
В чем заключается назначение декоратора @property в языке Python?
Ответ от нейросети
sobes.tech AI
Декоратор @property в Python используется для создания свойств класса, которые выглядят как обычные атрибуты, но при этом за их чтением, записью или удалением могут стоять методы.
Это позволяет контролировать доступ к данным, выполнять дополнительную логику при получении или изменении значения, сохраняя удобный синтаксис.
Пример:
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) # Получение через @property
p.name = "Пётр" # Вызов сеттера
# p.name = "" # Это вызовет ValueError
Таким образом, @property помогает инкапсулировать логику доступа к атрибутам, делая код более чистым и безопасным.