Основы Python
Теория: Результат логических выражений
В Python значения разных типов можно использовать напрямую в логических выражениях. При этом они ведут себя как True или False в зависимости от того, относятся ли к категории truthy или falsy.
Falsy и Truthy значения
В Python есть фиксированный набор значений, которые считаются ложными (falsy):
0— любое нулевое число (0,0.0)- пустая строка
"" - пустые коллекции —
[],{},set(),()(мы пока их не проходили) - специальное значение
None
Все остальные значения считаются истинными (truthy). Например:
- любое ненулевое число (
1,-3.5) - непустая строка (
"hi","0") - непустые коллекции (
[1],{"a": 1},(0,)) (будем изучать на Хекслете)
Пример с делением на остаток
Здесь выражение читается так:
- Сначала выполняется арифметика
10 % 2 == 0→True. - Потом работает
and: так как слева истина, результатом становится"yes". - Так как
"yes"— truthy, операторorвозвращает именно его.
Как работают логические выражения
В Python логические выражения возвращают не обязательно True или False. Они возвращают один из своих операндов:
- оператор
andвозвращает первый falsy-операнд или последний truthy, - оператор
orвозвращает первый truthy-операнд или последний falsy.
Поэтому результатом может быть строка, число или любой другой объект, участвующий в выражении.
Примеры
Использование в функциях
Особенность truthy и falsy значений удобно применять в функциях. Например, можно написать функцию, которая возвращает текст, если он непустой, или значение по умолчанию, если строка пустая.
Здесь выражение text or default работает так:
- если
textнепустой (truthy), функция вернёт его, - если
textпустой (falsy), функция вернётdefault.








