Разбор вывода логических операторов or и and в Python

Вывод: True, False, 10 и []. or возвращает первый истинный операнд либо последний; and — первый ложный либо последний. Результат не обязан иметь тип bool.

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

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

Вывод: True, False, 10 и []. or возвращает первый истинный операнд либо последний; and — первый ложный либо последний. Результат не обязан иметь тип bool.

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

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

Условие

Какой результат будет выведен при выполнении следующего фрагмента кода? Пример иллюстрирует поведение операторов or и and при работе с различными типами данных.


print(True or False)
print(True and False)
print(10 or 0)
print(10 and [])

Ответ

Вывод: True, False, 10 и []. or возвращает первый истинный операнд либо последний; and — первый ложный либо последний. Результат не обязан иметь тип bool.

Точный вывод:

True
False
10
[]

True or False останавливается на True. True and False возвращает False. Число 10 истинно, поэтому 10 or 0 возвращает само число 10. В 10 and [] первый операнд истинный, и результатом становится второй — пустой список. Операторы используют короткое замыкание: ненужный правый операнд вообще не вычисляется.

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

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

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

Подробнее