Back to questions
WINK
Junior — Middle
82
Можете объяснить, что представляет собой декоратор property в Python и как он используется?
Companies where asked
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("Name cannot be empty")
self._name = value
p = Person("Alice")
print(p.name) # вызовет метод name()
p.name = "Bob" # вызовет setter
Здесь name — свойство, при чтении вызывается метод с декоратором @property, при записи — метод с @name.setter. Это позволяет контролировать доступ к внутреннему атрибуту _name.