Логические операции в Python: and, or, not и их приоритет

Логические операции в Python: and, or, not и их приоритет

1. Введение

Логические операции — это кирпичики, из которых строятся все условия в программировании.

Если вы пишете на Python, вы постоянно используете их:

  • в задании №2 — для вычисления логической функции;
  • в условиях if — для проверки, выполняется ли условие;
  • в циклах while — для управления повторением;
  • в заданиях №5, №8, №17, №24, №25, №26, №27 — для фильтрации данных.

Без понимания логических операций вы не сможете написать ни одну программу.

В этой статье мы разберём три основные логические операции:

Логические операции в Python
А также операторы сравнения, которые чаще всего используются вместе с ними:
Операторы сравнения в Python
И главное — в каком порядке они выполняются, чтобы вы не ошибались в сложных выражениях.

2. Операторы сравнения — с чего всё начинается

Прежде чем использовать and, or, not, нужно понимать, откуда берутся True и False. Их порождают операторы сравнения.

Каждое сравнение возвращает булево значение:

Выражение

Результат

5 < 10

True

5 > 10

False

5 == 5

True

5 != 5

False


Пример:

x = 7
print(x > 3)   # True
print(x == 7)  # True
print(x != 7)  # False
print(x < 0)   # False
Именно эти результаты (True или False) потом участвуют в логических операциях:
x = 7
print(x > 3 and x < 10)   # True and True → True
print(x == 5 or x > 10)   # False or False → False
print(not x == 7)         # not True → False

3. Что такое логические операции?

Логические операции работают с булевыми значениями — это либо True (истина), либо False (ложь). Python воспринимает True как 1, а False как 0.

Все логические операции возвращают в результате True или False.

3.1. Оператор and (логическое И)

and возвращает True, только если оба выражения истинны.

Таблица истинности для and:

Таблица истинности AND
Пример:
x = 5
print(x > 3 and x < 10)  # True, потому что 5 > 3 и 5 < 10
print(x > 3 and x > 10)  # False, потому что 5 > 10 — ложь

3.2. Оператор or (логическое ИЛИ)

or возвращает True, если хотя бы одно выражение истинно.

Таблица истинности для or:

Таблица истинности OR
Пример:
x = 5
print(x > 3 or x > 10)   # True, потому что 5 > 3 — истина
print(x > 10 or x < 0)   # False, потому что оба условия ложны

3.3. Оператор not (логическое НЕ)

not переворачивает значение: истину превращает в ложь, ложь — в истину.

Таблица истинности для not:

Таблица истинности NOT
Пример:
x = 5
print(not x > 3)   # False, потому что x > 3 — True, а not True = False
print(not x > 10)  # True, потому что x > 10 — False, а not False = True

4. Как это связано с заданием №2

В задании №2 вам дают логическое выражение, например:

(x → y) ∧ (y → w) ∨ (z ≡ (x ∨ y))

Чтобы перевести его на Python, вы заменяете:

Обозначения логических операций в Python
И получаете код:
f = ((x <= y) and (y <= w)) or (z == (x or y))
Вот где нужны логические операции! Всё выражение строится на and, or, not и операторах сравнения.

5. Приоритет операций — главное, что нужно запомнить

В Python все операции выполняются в строгом порядке. Если вы его не знаете — легко ошибиться.

Полный порядок выполнения (от высшего к низшему):

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

Пример со скобками и без

Без скобок:
x = 5
print(x > 3 and x < 10 or x == 0)
Порядок:
  1. x > 3 → True
  2. x < 10 → True
  3. x == 0 → False
  4. True and True → True
  5. True or False → True
Со скобками (для наглядности):
print((x > 3 and x < 10) or (x == 0))
Результат тот же, но код читается легче.

6. Сложный пример: смешиваем всё

x = 7
y = 3
z = 7

result = not x == y and x >= z or y < z
Разбор по шагам:
1. Операторы сравнения (самые приоритетные):
  • x == y → 7 == 3 → False
  • x >= z → 7 >= 7 → True
  • y < z → 3 < 7 → True
2. Подставляем: not False and True or True
3. not False → True
4. True and True → True
5. True or True → True
Результат: True

7. Где ещё это пригодится на ЕГЭ

Условия в if

x = int(input())
if x > 0 and x % 2 == 0:
    print("Число положительное и чётное")
Проверка делимости (задание №17)
if data[i] % 3 == 0 or data[i+1] % 3 == 0:
    count += 1
Фильтрация данных (задание №24)
if text[i].isalpha() and text[i] not in vowels:
    consonants += 1

8. Главный вывод

Операторы сравнения (<, >, ==, !=, <=, >=) порождают True и False. Логические операции (and, or, not) работают с этими значениями.

Запомните три правила:

  1. and — оба условия истинны.
  2. or — хотя бы одно условие истинно.
  3. not — переворачивает условие.

И главное — порядок:

сравнения → not → and → or

Этот порядок нужно знать, чтобы не ошибаться в сложных выражениях.

Нужна помощь с подготовкой?

Я — Олег Алексеевич, репетитор по информатике. Готовлю к ЕГЭ более 15 лет.

На своих занятиях мы:

  • разбираем структуру экзамена и стратегии решения;
  • пишем код на Python так, чтобы он работал с первого раза;
  • отрабатываем сложные задания 26 и 27 на реальных примерах.

Хотите попробовать? Запишитесь на первое занятие — познакомимся, определим ваш уровень и составим план подготовки.

Переходите на мой сайт, чтобы узнать подробности и записаться: Репетиторы рядом

Made on
Tilda