Встречается на собеседованиях • сегодня
Есть ли опыт описания сеттеров
В Python сеттеры обычно реализуются через декоратор @property и соответствующий метод с префиксом setter. Это позволяет контролировать установку значений атрибутов класса, добавляя валидацию или логику.
Пример:
python
class Person:
def __init__(self, name):
self._name = name # защищённый атрибут
text
@property
def name(self):
return self._name
@name.setter
def name(self, value):
if not isinstance(value, str):
raise ValueError("Name must be a string")
self._name = valuep = Person("Alice")
p.name = "Bob" # корректно
p.name = 123 # ValueError
text
**Нюансы:**
- Сеттеры полезны для инкапсуляции и проверки данных.
- Без `@property` атрибут был бы публичным, и валидация усложнилась.
- Имена методов-сеттеров должны совпадать с именами свойств.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы