Логические операции: И, ИЛИ, НЕ и исключающее ИЛИ

Логические операции: И, ИЛИ, НЕ и исключающее ИЛИ

Данные на октябрь 2026, Python 3.13Опубликовано 17 апреля 2025Обновлено 2 июля 20268 мин чтения
Плата с батареей, тремя выключателями и лампочкой
Коротко
  • Логические операции работают с высказываниями, которые могут быть только истинными или ложными.
  • И истинно, когда истинны оба высказывания, ИЛИ — когда истинно хотя бы одно, НЕ меняет значение на противоположное.
  • Исключающее ИЛИ истинно, когда ровно одно из двух высказываний истинно.
  • Приоритет: сначала НЕ, затем И, затем ИЛИ; сомневаетесь — ставьте скобки.
Содержание12 разделов ▾
  1. Что такое высказывание и логическое значение
  2. Операция НЕ (отрицание)
  3. Операция И (конъюнкция)
  4. Операция ИЛИ (дизъюнкция)
  5. Исключающее ИЛИ
  6. Сводная таблица
  7. Приоритет операций
  8. Логические операции в Python
  9. Логические операции в поисковых запросах
  10. Условия и ограничения
  11. Частые ошибки
  12. Короткий вывод

Логические операции — действия над высказываниями, которые могут быть только истинными или ложными. И даёт истину, когда истинны оба высказывания, ИЛИ — когда истинно хотя бы одно, а НЕ меняет значение на противоположное. Статья для тех, кто знаком с нулями и единицами и хочет понять, как с ними рассуждать. Вы узнаете, что делает каждая операция, как выглядит её таблица истинности, как операции обозначают в логике и в Python и как они работают в поисковых запросах.

Определения сверены с Википедией, правила приоритета — с документацией Python, операторы поиска — со справкой Яндекса. Код проверен запуском на Python 3.13. Данные на октябрь 2026 года.

Что такое высказывание и логическое значение

В логике высказыванием называют предложение, которое может быть истинным или ложным. «Сейчас идёт дождь» — высказывание: на него можно ответить «верно» или «неверно». «Закрой окно» — не высказывание: приказ не бывает истинным или ложным.

Истину и ложь удобно записывать числами: 1 — истина, 0 — ложь. Это тот же двоичный алфавит, с которым вы встречались в статье о двоичной системе. Компьютер хранит те же значения в виде битов.

Операция НЕ (отрицание)

НЕ меняет значение на противоположное: из истины получается ложь, из лжи — истина. Это единственная из основных операций с одним операндом.

aНЕ a
01
10

Пример из жизни: «свет горит» — истина, тогда «свет НЕ горит» — ложь.

Операция И (конъюнкция)

И истинно только тогда, когда истинны оба операнда. По описанию Википедии, результат равен 1, если все операнды равны 1, а во всех остальных случаях равен 0.

aba И b
000
010
100
111

Пример из жизни: «купить билет И иметь паспорт». Без любого из двух условий в поезд не сядешь.

Операция ИЛИ (дизъюнкция)

ИЛИ истинно, когда истинен хотя бы один операнд. Википедия отмечает, что дизъюнкция по применению максимально близка к союзу «или» в смысле «или первый, или второй, или оба сразу». В повседневной речи «или» часто значит «одно из двух, но не оба», а в логике оба сразу тоже подходят.

aba ИЛИ b
000
011
101
111

Пример из жизни: «оплатить картой ИЛИ наличными». Подходит любой способ, и даже оба сразу.

Исключающее ИЛИ

Исключающее ИЛИ (XOR) истинно, когда ровно один операнд истинен, а другой ложен. Википедия называет его также сложением по модулю 2: оно складывает биты, а перенос в старший разряд отбрасывает.

aba XOR b
000
011
101
110

От обычного ИЛИ оно отличается последней строкой: когда истинны оба операнда, результат ложен. Пример из жизни: выключатель на двух концах коридора. Свет меняет состояние от нажатия любого из двух переключателей, и если нажаты оба, то свет остаётся как был.

Сводная таблица

ОперацияНазваниеЗапись в логикеЗапись в PythonЗапись в запросахРезультат
НЕотрицание¬anot a-словоменяет значение
Иконъюнкцияa ∧ ba and bслова через пробел1, только если оба 1
ИЛИдизъюнкцияa ∨ ba or bслово1 | слово21, если хотя бы один 1
Исключающее ИЛИXORa ⊕ ba ^ b для чисел—1, если значения разные

Расчёт таблиц для сложных выражений делает инструмент «Таблица истинности». Статья объясняет смысл операций, а инструмент считает за вас.

Приоритет операций

Чтобы сократить число скобок, принят порядок. Английская Википедия формулирует: отрицание имеет более высокий приоритет, чем конъюнкция, а конъюнкция более высокий, чем дизъюнкция. Выражение a ИЛИ b И НЕ c читается как a ИЛИ (b И (НЕ c)).

Разберём по шагам при a = 1, b = 0, c = 1:

  1. НЕ c = НЕ 1 = 0.
  2. b И 0 = 0 И 0 = 0.
  3. a ИЛИ 0 = 1 ИЛИ 0 = 1.

Скобки меняют порядок: (a ИЛИ b) И НЕ c при тех же значениях даёт (1 ИЛИ 0) И 0 = 1 И 0 = 0.

Логические операции в Python

В Python слова and, or, not работают над логическими значениями, а символы &, |, ^ — над битами целых чисел. Документация перечисляет приоритет: not выше and, а and выше or. Запустим пример, который печатает таблицы и проверяет приоритет:

Python
# Таблицы логических операций: 0 — ложь, 1 — истина.
print("a b | НЕ a | a И b | a ИЛИ b | a XOR b")
for a in (0, 1):
    for b in (0, 1):
        print(f"{a} {b} |   {int(not a)}   |   {int(a and b)}   |    {int(a or b)}    |    {a ^ b}")

# Приоритет: not, затем and, затем or
a, b, c = True, False, True
print(a or b and not c)        # a or (b and (not c))
print((a or b) and not c)      # со скобками результат иной

# and/or работают над значениями, & | ^ — над битами
print(5 and 3, 5 & 3)          # 3 и 1
print(6 | 3, 6 ^ 3)            # 7 и 5

Вывод при запуске на Python 3.13:

Текст
a b | НЕ a | a И b | a ИЛИ b | a XOR b
0 0 |   1   |   0   |    0    |    0
0 1 |   1   |   0   |    1    |    1
1 0 |   0   |   0   |    1    |    1
1 1 |   0   |   1   |    1    |    0
True
False
3 1
7 5

Первые строки повторяют таблицы выше. Значения True и False показывают, что скобки изменили результат. Последние две строки показывают разницу между словами и символами: документация объясняет, что and и or возвращают не True или False, а последний вычисленный аргумент, поэтому 5 and 3 равно 3, а 5 & 3 по битам равно 1.

Логические операции в поисковых запросах

Поисковые операторы повторяют идею логических операций. В справке Яндекса описаны такие:

  • слово1 | слово2 — документы, где есть хотя бы одно из слов (ИЛИ);
  • -слово — исключить слово из результатов (НЕ), причём исключаемое слово должно стоять в конце запроса;
  • +слово — слово обязательно должно быть в документе;
  • "слова в кавычках" — точная фраза.

Пример из справки: запрос «восхождение гора -Эльбрус» вернёт документы со словами «восхождение» и «гора», в которых нет слова «Эльбрус». Набор операторов зависит от поисковой системы, и справка со временем меняется.

Условия и ограничения

Версия
Python 3.13, октябрь 2026 — код проверен запуском; поведение операторов Python описано по документации.
Обозначения
В учебниках различаются — встречаются ∧, ∨, ¬, &, |, ^, слова and, or, not; ориентируйтесь на учебник или задание.
Приоритет
Проверяйте по источнику — порядок операций в языках программирования проверяйте по документации языка.
Исключающее ИЛИ
В Python ^ над битами — для логических значений True и False оператор ^ тоже работает, но чаще его используют над числами.
Поиск
Операторы зависят от системы — справка Яндекса описывает его операторы, у других поисковиков набор иной.

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

  • Читают «или» как «либо одно, либо другое». В логике ИЛИ истинно и когда истинны оба.
  • Путают И и ИЛИ в условиях: «не курить и не пить» совсем не то же, что «не (курить и пить)».
  • Забывают про приоритет и пишут выражение без скобок.
  • Путают and и & в Python: первое работает над значениями, второе над битами.
  • Ждут от исключающего ИЛИ результата 1, когда оба операнда равны 1.
  • Ставят оператор минус в середине поискового запроса: в справке Яндекса исключаемое слово должно стоять в конце.

Короткий вывод

НЕ меняет значение, И требует истинности всех операндов, ИЛИ достаточно одного, исключающее ИЛИ требует ровно одного. Приоритет — НЕ, затем И, затем ИЛИ, а скобки задают порядок явно. Эти же идеи работают в Python и в поисковых запросах. Для сложных выражений используйте таблицу истинности.

Источники

  1. Википедия: Логическая операция↗ ru.wikipedia.org
  2. Википедия: Конъюнкция↗ ru.wikipedia.org
  3. Википедия: Дизъюнкция↗ ru.wikipedia.org
  4. Википедия: Отрицание↗ ru.wikipedia.org
  5. Википедия: Исключающее «или»↗ ru.wikipedia.org
  6. Википедия: Таблица истинности↗ ru.wikipedia.org
  7. Википедия (англ.): Logical connective↗ en.wikipedia.org
  8. Project Gutenberg: Дж. Буль, An Investigation of the Laws of Thought↗ gutenberg.org
  9. Python 3: выражения и приоритет операций↗ docs.python.org
  10. Яндекс Поиск: поиск по отдельным словам и фразам↗ yandex.ru

Частые вопросы

Какие бывают логические операции?

Основные — НЕ (отрицание), И (конъюнкция), ИЛИ (дизъюнкция) и исключающее ИЛИ. Кроме них Википедия в списке логических операций называет стрелку Пирса, штрих Шеффера, эквиваленцию и импликацию. Для начала хватает первых четырёх. Каждая операция задаётся таблицей истинности: она показывает результат для всех сочетаний значений высказываний.

Чем исключающее ИЛИ отличается от обычного ИЛИ?

Обычное ИЛИ истинно, когда истинно хотя бы одно высказывание, в том числе оба сразу. Исключающее ИЛИ, по Википедии, истинно тогда и только тогда, когда одно высказывание истинно, а другое ложно. Если истинны оба, результат ложный. Поэтому разница видна в одной строке таблицы: для a = 1 и b = 1 обычное ИЛИ даёт 1, а исключающее 0. В Python для чисел исключающее ИЛИ записывается как ^.

Какой приоритет у логических операций?

Сначала выполняется НЕ, затем И, затем ИЛИ. Английская Википедия называет такой порядок принятым для логических связок: отрицание старше конъюнкции, а конъюнкция старше дизъюнкции. В Python порядок тот же: документация перечисляет not выше and, а and выше or. Скобки меняют порядок: действия в скобках выполняются первыми. Если не уверены, расставьте скобки: так выражение читается однозначно.

Как обозначаются логические операции?

В математической логике НЕ записывают как ¬, И как ∧, ИЛИ как ∨, исключающее ИЛИ как ⊕. В программировании часто используют слова and, or, not или символы &, |, ^. Википедия приводит для операций названия на английском AND, OR, NOT, XOR. Разные учебники используют разные записи, поэтому в таблице ниже собраны все варианты. Если в задании указан свой символ, ориентируйтесь на него.

Как работают логические операции в поисковых запросах?

Поисковые операторы повторяют идею логических операций. По справке Яндекса, запись «гора | река | лес» ищет документы, где есть хотя бы одно из слов, то есть ИЛИ. Знак минус перед словом исключает его из результатов: «восхождение гора -Эльбрус» ищет документы со словами «восхождение» и «гора», но без слова «Эльбрус». Знак плюс делает слово обязательным. Набор операторов у каждого поисковика свой, поэтому проверяйте справку.

РедакцияМатериал подготовлен по источникам выше · 2 июля 2026