Junior — Middle
103
El tudná magyarázni a @property dekorátor célját és használatát Pythonban?
Cégeket kérdeztek
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 позволяет инкапсулировать логику доступа к данным, не меняя интерфейс класса.