Как работает ленивое вычисление логических выражений?

and и or вычисляют операнды слева направо и останавливаются, когда результат уже определён. Они возвращают один из операндов, а не обязательно True или False.

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

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

and и or вычисляют операнды слева направо и останавливаются, когда результат уже определён. Они возвращают один из операндов, а не обязательно True или False.

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

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

and и or вычисляют операнды слева направо и останавливаются, когда результат уже определён. Они возвращают один из операндов, а не обязательно True или False.

a and b возвращает a, если оно ложно, иначе вычисляет и возвращает b. a or b возвращает a, если оно истинно, иначе b. Поэтому obj is not None and obj.ready не обращается к атрибуту у None. Но value or default заменит также допустимые 0 и пустую строку; если важен только None, проверяйте его явно.

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

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

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

Подробнее