Когда два условия можно объединить через or

Если действие и сообщение одинаковы, используйте if a < 0 or b < 0. Объединение должно сохранять порядок вычисления и наблюдаемые побочные эффекты.

Короткий ответ

Что ответить на собеседовании

Если действие и сообщение одинаковы, используйте if a < 0 or b < 0. Объединение должно сохранять порядок вычисления и наблюдаемые побочные эффекты.

Подробный разбор

Ответ с пояснениями

Условие

Функция отдельно делает if a < 0: raise ValueError('negative') и такое же условие для b. Можно ли объединить проверки и когда это станет неверным?

Ответ

Если действие и сообщение одинаковы, используйте if a < 0 or b < 0. Объединение должно сохранять порядок вычисления и наблюдаемые побочные эффекты.

В Python or вычисляет вторую часть только при ложности первой. Здесь обе проверки простые и исключение одинаковое, поэтому поведение сохраняется. Если сообщения различаются, во второй ветке есть обязательный вызов или условия влияют друг на друга, механическое объединение может изменить контракт и диагностику.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее