Найти тему

Булева логика в Python

Оглавление

Сегодня разберемся с условиями/утверждениями в Python на которые можно ответить «Да» (True) или «Нет» (False)

Логический тип данных, называют булевым. Значения булева типа хранят информацию об истинности утверждений True или False. В Python булевы значения имеют тип bool.

Для проверки истинности утверждений применяют операторы сравнения

Операторы сравнения в Python
Операторы сравнения в Python
  • Операторы сравнения работают с целыми и дробными числами, а также с булевыми значениями, списками и строками.
  • Если утверждение содержит сразу несколько операторов, сравнение выполняется последовательно. Утверждение будет истинным, только если каждый оператор сравнения возвращает True.

Некоторые не очевидные особенности при работе с операторами сравнения

  1. Если сравниваются булевы значения, то True соответствует единице, а False — нулю. Например True > False — истина(True).
  2. Строки тоже можно сравнивать. Так оператор == вернет True, если значения слева и справа одинаковы. Операторы сравнения (<, >, <=, >=) со строками тоже работают. Для Python «меньше» та строка, которая стояла бы в словаре раньше. То есть буква C «больше» буквы В, потому что больше её порядковый алфавитный номер. Сравнение происходит посимвольно, слева направо.
  3. Списки сравниваются поэлементно: если каждый элемент первого списка будет соответствовать элементу из другого, оператор равенства == вернёт True. Операторы больше/меньше работают по тому же принципу, что и со строками
  4. Сравнение дробных чисел не всегда работает корректно, потому что в Python дробные числа записываются в двоичной системе счисления, а не в привычной нам десятичной.

Друзья! Пишите в комментариях, разбираетесь ли вы с булевой логикой или для вас эта тема остается неизведанным зверем? И подписывайтесь на мой канал!