ЛОГИЧЕСКИЕ ОПЕРАТОРЫ В PYTHON
Возвращает True, если хотя бы одно из сравнений истинно. Если оба сравнения ложны, то результат операции будет False.
Логический оператор «and»
Возвращает True, если оба сравнения истинны. Если хотя бы одно из сравнений ложно, то результат операции будет False.
Логический оператор «not»
Инвертирует результат сравнения. Если сравнение истинно, то результат операции будет False. Если сравнение ложно, то результат операции будет True.
Старшинство логических операций
Первой выполняется операция not, за ней — and. В последнюю очередь выполняется операция or.
Основные логические операции. AND, NOT, OR и XOR (исключающее или)
В этой статье мы поговорим о некоторых битовых операциях. Рассмотрим основные из них: XOR (исключающее ИЛИ), AND (И), NOT (НЕ) а также OR (ИЛИ).
Как известно, минимальной единицей измерения информации является бит, который хранит одно из 2-х значений: 0 (False, ложь) либо 1 (True, истина). Таким образом, битовая ячейка может одновременно находиться лишь в одном из двух возможных состояний.
Для манипуляций с битами используют определённые операции — логические или булевые. Они могут применяться к любому биту, вне зависимости от того, какое у него значение — ноль или единица. Что же, давайте посмотрим на примеры использования трёх основных логических операций.
Логическая операция AND (и)
AND обозначается знаком & .
Оператор AND выполняется с 2-мя битами, возьмём, к примеру, a и b. Результат выполнения операции AND равен 1, если a и b равняются 1. В остальных случаях результат равен 0. Например, с помощью AND вы можете узнать, чётное число или нет.
Посмотрите на таблицу истинности операции AND:
Логическая операция OR (ИЛИ)
Оператор OR также выполняется с 2-мя битами (a и b). Результат равен 0, если a и b равны 0, иначе он равен 1. Смотрим таблицу истинности.

Логическая операция XOR (исключающее ИЛИ)
Оператор XOR обозначается ^ .
XOR выполняется с 2-мя битами (a и b). Результат выполнения операции XOR (исключающее ИЛИ) равен 1, когда один из битов b или a равен 1. В остальных ситуациях результат применения оператора XOR равен 0.
Таблица истинности логической операции для XOR (исключающее ИЛИ) выглядит так:
Используя XOR (исключающее ИЛИ), вы можете поменять значения 2-х переменных одинакового типа данных, не используя временную переменную. А ещё, посредством XOR можно зашифровать текст, например:
Согласен, XOR — далеко не самый надёжный метод шифрования, но это не значит, что его нельзя сделать частью какого-либо шифровального алгоритма.
Логическая операция NOT (НЕ)
Это побитовое отрицание, поэтому выполняется с одним битом и обозначается
Результат зависит от состояния бита. Если он в нулевом состоянии, то итог операции — единица и наоборот. Всё предельно просто.
Эти 4 логические операции следует запомнить в первую очередь, т. к. с их помощью можно получить практически любой возможный результат. Также существуют такие операции, как << (побитовый сдвиг влево) и >> (побитовый сдвиг вправо).
Логические операторы: И, ИЛИ, РАВНО и другие
Логические операторы это специальные символы (или сочетания символов), которые изменяют или комбинируют логические значения типа Boolean — true и false. Их используют чтобы создавать сложные условия, например в циклах.
Логические операторы
Оператор НЕ (!, not)
Выражение вида !true равно false и наоборот. ! — унарный оператор (применяется к одному операнду), он помещается перед операндом.
Оператор И (&&, and)
Выражение вида a && b будет равно true только тогда, когда и а и b равны true.
Оператор ИЛИ (||, or)
Выражение a || b будет равно true, когда или a, или b (или оба) равен true.
Оператор исключающее ИЛИ (^, xor)
Выражение a ^ b будет равно true, когда только один из операндов имеет значение true. Подробно о применении xor рассказывается в статье « Практика применения XOR в программировании »
Оператор эквивалентности ==
Выражение a == b будет равно true, когда a и b имеют одинаковые значения.
Оператор неравенства !=
Выражение a != b будет равно true, когда a и b имеют разные значения.
Приоритет логических операторов
- Оператор эквивалентности — ==, оператор неравенства — !=.
- Оператор отрицания — !.
- Оператор И — &&.
- Оператор исключающее ИЛИ — ^.
- Оператор ИЛИ — ||.
Предлагаем вам пройти тест и узнать, насколько хорошо вы разобрались с логическими операторами:
Ссылка на резюме
Для отправки формы требуется ваше согласие
Готово! Ваши ответы зафиксированы и успешно переданы команде SM Lab.
Мы свяжемся с вами в течение трёх дней.
Логические операторы в Python
Логические операторы в Python позволяют нам выполнять логические операции AND, OR, и NOT между логическими значениями. В этой статье мы более подробно рассмотрим выполнение логического оператора.
В Python есть три логических оператора:
and | Логический оператор AND | flag = True и True = True |
or | Логический оператор OR | flag = False или True = True |
not | Логический оператор NOT | flag = not (False) = True |
Логический оператор AND в Python
Вот простой пример логического оператора and.
Вывод: и x, и y – положительные числа.
Перед выполнением логической операции выражения оцениваются. Таким образом, приведенное выше условие if аналогично приведенному ниже:
В Python каждая переменная или объект имеет логическое значение.
Вывод: И x, и y имеют логическое значение True, потому что функция len() ‘x’ и ‘y’ вернет 2, т.е.> 0.
Давайте подтвердим приведенное выше утверждение, определив настраиваемый объект. Python использует функцию __bool __() для получения логического значения объекта.
Обратите внимание, что функция __bool __() вызывается только один раз, что подтверждается выводом оператора печати.
На диаграмме ниже изображена логическая блок-схема и схема работы.
Логический оператор OR
Давайте посмотрим на простой пример логического оператора OR.
Выход: по крайней мере одно из x и y является положительным числом.
Давайте подтвердим это простым фрагментом кода. Мы будем повторно использовать класс данных, определенный ранее.
Обратите внимание, что метод __bool __() вызывается только один раз и, поскольку он оценивается как True, дальнейшие выражения не оцениваются.
Давайте запустим еще один пример, в котором оба логических значения объекта данных возвращают False.
Наконец, на изображении ниже изображена блок-схема логического оператора или оператора.
Оператор NOT
Это очень простой оператор, работающий с одним логическим значением. Если логическое значение равно True, тогда оператор not вернет False и наоборот.
Давайте посмотрим на простой пример оператора «NOT».
Результат: 37 не делится ни на 3, ни на 4.
Операторы оцениваются слева направо
Давайте посмотрим на пример, где у нас есть несколько логических операторов. Мы не смешиваем разные типы операторов в Python, поэтому приоритет операторов не будет очевиден и будет легче объяснить результат.
Мы также переопределим функцию __bool __() для вывода значения «id».
Обратите внимание, что логическое значение сначала вычисляется для d1, тем самым подтверждая, что выполнение происходит слева направо.
Работают ли с любым настраиваемым объектом?
В Python каждый объект имеет логическое значение. Таким образом, логические операторы будут работать и с любыми настраиваемыми объектами. Однако мы можем реализовать функцию __bool __(), чтобы определить наши собственные правила для логического значения объекта.