Встречается на собеседованиях • сегодня

Как объявляется property

В Python property используется для создания управляемых атрибутов класса. Оно позволяет добавлять геттеры, сеттеры и делитеры к атрибуту, не меняя интерфейс класса.

Пример:

python
class Circle:
    def __init__(self, radius):
        self._radius = radius  # Приватный атрибут

    @property
    def radius(self):
        """Геттер для радиуса."""
        return self._radius
text
@radius.setter
def radius(self, value):
    """Сеттер для радиуса с проверкой."""
    if value < 0:
        raise ValueError("Радиус не может быть отрицательным")
    self._radius = value

@radius.deleter
def radius(self):
    """Делитер для радиуса."""
    del self._radius
text

**Как это работает:**  
1. `@property` превращает метод в геттер.  
2. `@attr.setter` определяет сеттер.  
3. `@attr.deleter` определяет делитер.  

Теперь можно работать с `radius` как с обычным атрибутом, но логика геттера/сеттера будет выполняться:  
```python
c = Circle(5)
print(c.radius)  # 5 (вызов геттера)
c.radius = 10    # вызов сеттера
del c.radius     # вызов делитера
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы