Sobes.tech
Junior — Middle
103

El tudná magyarázni a @property dekorátor célját és használatát Pythonban?

Cégeket kérdeztek
AstonAston

Válasz az MI-től

sobes.tech MI

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