Определение результата выражения с оператором or

result получит число 0, и print выведет 0. Пустой список считается ложным, поэтому оператор or возвращает правый операнд, не преобразуя его в bool.

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

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

result получит число 0, и print выведет 0. Пустой список считается ложным, поэтому оператор or возвращает правый операнд, не преобразуя его в bool.

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

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

Условие

Какое значение будет присвоено переменной result.

result = [] or 0
print(result)

Ответ

result получит число 0, и print выведет 0. Пустой список считается ложным, поэтому оператор or возвращает правый операнд, не преобразуя его в bool.

or вычисляет операнды слева направо и останавливается на первом истинном. Если такого нет, результатом остаётся последний операнд.

result = [] or 0
print(type(result))  # <class 'int'>

Здесь оба операнда ложны, но значение результата — именно 0, а не объект False. Если заменить правую часть на непустую строку, результатом станет эта строка. Для получения булева значения явно вызывают bool(...).

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

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

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

Подробнее