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) # обращение как к атрибуту
p.name = "Пётр" # вызов сеттера
Таким образом, @property позволяет контролировать доступ к внутренним данным класса, обеспечивая инкапсуляцию и удобный синтаксис.