Встречается на собеседованиях • сегодня
Что такое инвариантность класса
Инвариант класса — это условие или набор условий, которые всегда должны выполняться для объектов класса в течение их жизненного цикла (кроме, возможно, момента внутри метода). Это гарантирует корректное состояние объекта.
Пример:
python
class BankAccount:
def __init__(self, balance: float):
self._balance = balance
# Инвариант: баланс не может быть отрицательным
assert self._balance >= 0, "Balance cannot be negative"
text
def withdraw(self, amount: float):
# Проверяем инвариант перед операцией
assert self._balance - amount >= 0, "Insufficient funds"
self._balance -= amount
# Проверяем инвариант после операции
assert self._balance >= 0, "Balance became negative"text
Ключевые моменты:
1. Инварианты проверяются в конструкторе
2. Проверяются до и после изменяющих методов
3. Нарушение инварианта — ошибка в логике класса
4. Часто проверяются через assert (в продакшне можно отключить)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы