Встречается на собеседованиях • сегодня
Что используется внутри @property в Python
Декоратор @property в Python создаёт геттер для атрибута класса. Под капотом он использует дескрипторы — специальный протокол с методами __get__, __set__, __delete__.
Пример:
python
class Circle:
def __init__(self, radius):
self._radius = radius
text
@property
def radius(self):
print("Getting radius")
return self._radius
@radius.setter
def radius(self, value):
print("Setting radius")
self._radius = valuetext
При обращении к `circle.radius` вызывается геттер, а при присваивании `circle.radius = 5` — сеттер. Если сеттер не определён, свойство становится read-only.
Дескриптор `property` автоматически вызывает соответствующий метод (`fget`, `fset`, `fdel`), переданный при его создании. Это реализовано через протокол дескрипторов в Python.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы