В сегодняшнем уроке мы узнаем, что такое логические операторы и выражения. В математике и в программировании такие выражения и операторы еще называют булевы, или булевые (от английского 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.

 

Домашнее задание

  1. Запомните основные логические операторы.
  2. Запишите по 2 примера для каждого выражения и каждого оператора – первый пример с числом, второй – с текстом.
  3. Наберите в PowerShell, а затем разберите по действиям следующее выражение:
    5 != 2 and not (‘lodka’ != ‘notebook’ or ‘lodka’ == ‘lodka’ )
    Внимание: должно получиться значение False

В следующем уроке мы на практике начнем применять логические выражения и писать программный код, где будут учитываться значения этих логических действий - перейти в урок 26.