Глава 9 · Выполняй мою команду!

Истина или ложь

Прежде чем программа сможет принимать решения, ей нужен способ хранить сам результат решения — логический тип bool.

До сих пор все наши программы выполняли одни и те же команды при каждом запуске. Пора научить их принимать решения — делать одно, если верно одно условие, и другое, если верно другое. Всё начинается с логического типа данных.

Логический тип: bool

Тип bool имеет всего два возможных значения: True (истина) и False (ложь) — с заглавной буквы, это ключевые слова Python, а не обычный текст.

bool.py
is_sunny = True
is_raining = False
print(is_sunny, type(is_sunny))

Как получить bool

Чаще всего True/False не пишут вручную, а получают в результате сравнения:

sravnenie_bool.py
print(5 > 3)     # True
print(5 == 3)    # False

«Истинность» других типов

Мы уже видели в главе 8, что пустая строка ведёт себя как False, а непустая — как True. То же правило работает для чисел и для других типов данных, которые мы изучим позже:

istinnost.py
print(bool(0))      # False — ноль считается «ложью»
print(bool(42))     # True — любое ненулевое число — «истина»
print(bool(""))     # False — пустая строка
print(bool("нет"))  # True — любая непустая строка, даже такая!
bool("False") — это True!
Строка "False" — непустая, значит, bool("False") равно True. Единственная строка, которая ведёт себя как ложь — пустая строка "".
Практика в Jupyter Notebook
09-01-istina-lozh.ipynb · тип bool и истинность значений
Открыть ноутбук →