В сегодняшнем уроке мы узнаем, что такое логические операторы и выражения. В математике и в программировании такие выражения и операторы еще называют булевы, или булевые (от английского Boolean – логический).
Без использования булевых выражений и операторов невозможно составить какую-либо хоть немного сложную программу на любом языке программирования, в том числе на Python 2.7.
На первый взгляд все логические выражения понять сложно, но попрактиковавшись 2-3 дня в их запоминании и применении на практике, вы вполне спокойно будете ими пользоваться в дальнейшем.
Итак, скажите мне, верно ли выражение:
5 > 2
Да, верно, скажете вы. Число 5 больше, чем число 2.
Так вот, знак >
является логическим (булевым) оператором.
У всех логических выражений есть два значения – Верно или Ложно. Но чаще всего программисты говорят по-английски: Тру (True) или Фалс (False).
Итак, если мы в программе PowerShell запишем это выражение, то Python нам должен выдать значение: True
Проверим.
Откроем программу PowerShell, наберем в ней команду python, а затем введем наше выражение:
5>2
Должно получиться, как на изображении.
Идем дальше.
А если мы введем 5 < 2 – что будет тогда? По идее, зная математику, это выражение должно иметь значение Ложно (False)!
В открытом окне PowerShell набираем наше выражение: 5 < 2
И видим, что Питон нам говорит: False
Вы заметили, что в первом случае я не делал пробелы между числами и знаком больше-меньше, а во втором случае - сделал. Никаких ошибок Питон мне не выдал, но читать удобнее код, когда есть пробелы между отдельными символами.
Идем дальше.
Мы рассмотрели самый простой вариант логического выражения и оператора. А сейчас я дам вам основные логические операторы (булевы операторы) и их значения, которые вы будете использовать в программировании на Python. Запомните их, запишите на листке бумаги и повторяйте в течение 2 дней.
Оператор not
not False - значение True (Верно)
not True - значение False (Ложно)
То есть оператор not дает противоположное значение: «не ложь – это правда».
Теперь запишем эти выражения в окне PowerShell и увидим результат.
Посмотрите на картинке, я первый раз набрал not false , то есть с маленькой буквы. В результате Питон мне выдал ошибку. Второй раз я набрал с большой буквы not False - ошибки нет. Результат: True
Кстати, попробуйте самостоятельно набрать Not False и посмотрите, что выдаст Питон.
Оператор or
True or False – значение True
True or True – значение True
False or True – значение True
False or False - значение False
Этот оператор говорит: Правда или Ложь? – Правда. Если в выражении «или» встречается хоть одно True – общее значение будет True.
Если оба False – значит False
А теперь наберем в окне PowerShell выражение:
5 > 2 or 5 < 2
Посмотрим на результат, он должен быть таким как на картинке:
Оператор and
True and False – значение False
True and True – значение True
False and True – значение False
False and False - значение False
То есть здесь мы видим все наоборот. Оператор and дает приоритет значению False. И только если оба значения True and True – итоговое значение тоже будет True.
Запишите в окне PowerShell выражение
5 > 2 and 5 < 2
и узнайте итоговое значение.
Оператор not or
not (True or False) – значение False
not (True or True) – значение False
not (False or True) – значение False
not (False or False) - значение True
Здесь все понятно: сначала делаем действие в скобках, а потом – за скобками. Получается оператор not будет переводить значение в скобках на противоположное.
Оператор not and
not (True and False) – значение True
not (True and True) – значение False
not (False and True) – значение True
not (False and False) - значение True
Здесь тоже все понятно: сначала делаем действие в скобках, а потом – за скобками.
Оператор !=
(не равно)
5 != 2 – значение True
5 != 5 – значение False
Здесь также все ясно: 5 не равно 2 – это Правда. А 5 не равно 5 – это Ложь.
Некоторые программисты иногда используют знак <>
в значении «не равно». Но вам следует сразу привыкать к правильному написанию оператора: !=
Оператор ==
(равно)
5 == 2 – значение False
5 == 5 – значение True
И здесь все понятно: 5 равно 2 – это Ложь, а 5 равно 5 – Правда.
Оператор записывается как два подряд знака =
Внимание: не путайте с операцией присваивания переменной.
Например, запись:
peremen = 5 + 2 - это присваивание суммы 5 и 2 переменной peremen.
А запись:
7 == 5 + 2 - это простое логическое выражение, в котором нам будет значение – верно или не верно. Посмотрите, как это будет выглядеть в PowerShell.
Сравнивать можно не только числа, но и слова.
Например, если вы введете в PowerShell выражение ‘lodka’ == ‘lodka’, то Питон вам выдаст значение True. А если ‘lodka’ == ‘notebook’ – будет значение False.
Домашнее задание
- Запомните основные логические операторы.
- Запишите по 2 примера для каждого выражения и каждого оператора – первый пример с числом, второй – с текстом.
- Наберите в PowerShell, а затем разберите по действиям следующее выражение:
5 != 2 and not (‘lodka’ != ‘notebook’ or ‘lodka’ == ‘lodka’ )
Внимание: должно получиться значение False
В следующем уроке мы на практике начнем применять логические выражения и писать программный код, где будут учитываться значения этих логических действий - перейти в урок 26.