Back to questions
Junior — Middle
61
Использовал ли ты декоратор @property в своих проектах на Python?
Answer from AI
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 = "Пётр" # сработает сеттер
# p.name = "" # вызовет ошибку ValueError
Таким образом, @property помогает сделать интерфейс класса более удобным и безопасным.