Menu
Coddy logo textTech

Что такое boolean (булев тип)?

В программировании boolean (булев, или логический, тип) является типом данных ровно с двумя значениями: true и false. Программы получают булевы значения из сравнений вроде age >= 18 и используют их, чтобы решить, какой код выполнять, в операторах if и условиях циклов.

Автор: Kevin Spektor, Сооснователь и CTO

Обновлено 24 сентября 2026 г.

Каждое решение программы сводится к вопросу с двумя возможными ответами: верен ли пароль, пуста ли корзина, дошёл ли таймер до нуля. Boolean является типом данных, который хранит такие ответы. Он назван в честь Джорджа Буля, английского математика, который описал алгебру значений «истина» и «ложь» в книгах, изданных в 1847 и 1854 годах.

Откуда берутся булевы значения

Писать True или False напрямую приходится редко. Большинство булевых значений получается из сравнений, которые задают вопрос о двух значениях и отвечают значением boolean:

ОператорЗначениеПримерРезультат
==равно3 == 3True
!=не равно3 != 3False
<, >меньше, больше2 < 5True
<=, >=не больше, не меньше17 >= 18False

Boolean можно сохранить в переменной, как любое другое значение, и комбинировать с другими булевыми значениями:

False
<class 'bool'>
False
True

Комбинирование: and, or, not

Три логических оператора собирают большие условия из маленьких. and истинно, только когда истинны обе стороны. or истинно, когда истинна хотя бы одна сторона. not переворачивает одно значение.

aba and ba or bnot a
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

В Python эти операторы пишутся словами. В C, Java и JavaScript используются символы: && для and, || для or, ! для not. Все четыре языка прекращают вычисление, как только ответ известен, поэтому в a and b правая сторона не проверяется, если a ложно. Это называется вычислением по короткой схеме. Подробнее в руководстве по логическим операторам Python.

Как булевы значения управляют программой

Оператор if выполняет свой блок, только когда условие истинно. Цикл while повторяет свой блок, пока условие остаётся истинным, поэтому каждым циклом управляет boolean, который проверяется заново перед каждым проходом. Такое повторение называется итерацией.

Hot day
Countdown: 3
Countdown: 2
Countdown: 1

Когда count доходит до 0, условие count > 0 становится False, и цикл заканчивается. Если бы условие никогда не могло стать ложным, цикл работал бы вечно.

Булевы значения как 1 и 0

Для boolean нужен всего один бит информации: 1 для истины, 0 для лжи. На практике языки хранят boolean как минимум в одном целом байте, потому что байт является наименьшей единицей памяти со своим адресом. В C bool из <stdbool.h> занимает 1 байт в gcc и clang. Программы, которым нужны миллионы флагов, упаковывают по 8 штук в каждый байт с помощью побитовых операторов.

Языки расходятся в том, является ли boolean ещё и числом. В Python bool является подклассом int, поэтому True равно 1, а False равно 0. Это упрощает подсчёт:

True True
2
3 correct

JavaScript тоже даёт 2 для true + true. В C не было булева типа до C99, и любое ненулевое число там по-прежнему считается истиной. Java строга: if (1) не компилируется, потому что условие в Java должно быть типа boolean.

Значения truthy и falsy

Python и JavaScript позволяют использовать как условие любое значение, а не только True и False. Значения, которые считаются ложными, называют falsy; все остальные называют truthy.

0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False

В Python ложными считаются ноль, пустые строки, пустые коллекции и None. Строка "False" является truthy, потому что это строка из пяти символов. У JavaScript свои falsy-значения, включая false, 0, "", null, undefined и NaN, а пустой массив [] там является truthy. Все правила описаны на странице truthy и falsy в JavaScript.

Частые ошибки

Сравнение с True. if is_ready == True: работает, но if is_ready: говорит то же самое короче. Для ложного случая пиши if not is_ready:.

Текст вместо boolean. Ввод пользователя, данные из файла или формы приходят строкой, поэтому bool("false") равно True. Сравнивай текст: answer == "yes".

Неверный регистр. В Python пишут True и False; в JavaScript, Java и C пишут true и false. Если написать true в Python, получишь NameError: name 'true' is not defined.

Расплывчатые имена. Называй boolean как вопрос с ответом да или нет, например is_valid, has_access или can_edit, чтобы условие читалось как предложение: if user.can_edit:.

Что изучить дальше

Булевы значения решают, сколько раз выполнится цикл, поэтому страница что такое итерация станет естественным продолжением, а что такое бит показывает 0 и 1 под каждым true и false. Детали для Python есть на странице числа и булевы значения, а условия можно потренировать в курсе Python.

Часто задаваемые вопросы

Какой пример boolean можно привести?
Сравнение 5 > 3 является логическим выражением, и его значение равно True. Переменная вроде is_logged_in = False хранит булево значение. В библиотечном каталоге поиск cats AND dogs представляет собой булев запрос, который использует ту же логику.
Boolean равен 1 или 0?
У boolean два значения, и многие языки представляют их как 1 для true и 0 для false. В Python True == 1 даёт True, а в C любое ненулевое число считается истиной. Java их разделяет: boolean в Java вообще нельзя использовать как число.
Boolean означает просто да или нет?
Да. Boolean хранит ровно одно из двух значений, которые можно читать как да или нет, включено или выключено, истина или ложь. Если у чего-то больше двух состояний, например у заказа, который ожидает оплаты, оплачен или возвращён, используй строку или перечисление (enum) вместо нескольких булевых переменных.
Что такое boolean в Python?
Булев тип в Python называется bool, и два его значения True и False пишутся с заглавной буквы. bool является подклассом int, поэтому в арифметике True ведёт себя как 1. Функция bool() превращает любое значение в True или False по правилам истинности Python.
Что такое булев поиск?
Булев поиск объединяет ключевые слова операторами AND, OR и NOT, чтобы сузить или расширить результаты. python AND tutorial требует оба слова, python OR java принимает любое из них, а python NOT snake исключает страницы со вторым словом. Библиотечные каталоги и научные базы данных поддерживают его напрямую, а Google принимает OR и знак минус вместо NOT.
Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ