Встречается на собеседованиях • сегодня
Будет ли класс иммутабельным (неизменяемым), если в нем находится атрибут
Если класс содержит атрибут, это не делает его автоматически иммутабельным. Иммутабельность зависит от возможности изменения состояния объекта после создания.
Пример иммутабельного класса:
python
class ImmutablePoint:
__slots__ = ('x', 'y') # Запрещает динамическое добавление атрибутов
def __init__(self, x, y):
super().__setattr__('x', x) # Обход __setattr__
super().__setattr__('y', y)
def __setattr__(self, *args):
raise AttributeError("ImmutablePoint is immutable")Пример изменяемого класса:
python
class MutablePoint:
def __init__(self, x, y):
self.x = x # Атрибуты можно менять
self.y = yИммутабельность достигается через запрет изменения атрибутов (например, переопределяя __setattr__ или используя @property).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы