Sobes.tech
Back to questions
Junior — Middle
60

Использовал ли ты декоратор @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 помогает сделать интерфейс класса более удобным и безопасным.