Операторы сравнения
Ну с конструкцией ветвления хода программы в случае условия, более менее понятно. Если условие выполнено, программа идет по одному пути, в другом случае по другому. А вот как определить выполнено условие или нет? Что такое вообще "выполнено"?
Здесь нам на помощь приходит Алгебра логики и логические операторы. В математической логике выражение условие выполнено тождественно выражению условие истинно. А вот для того, чтобы определить истинно ли условие или нет, мы будем использовать операторы сравнения.
Самый простой и понятный оператор, это "Больше" >
. Что-то одно Больше чего-то другого. А поскольку все в Python объект, то один объект Больше другого. Логично предположить что сравнивать можно, только одинаковые по типу объекты. Сравнивать "мух" с "котлетами" - нельзя! А вот сравнивать длину строки "муха" с длиной строки "котлета" - можно! Но давайте к чему-то более понятному - к числам. Давайте сравним 5 и 3. Применим оператор >
к паре чисел. И что мы получим, когда нажмем Enter
?
>>> 5 > 3
А получим мы ответ в виде True
, что переводится на русский как Истина. Т.е. Python используя формальную математическую логику вычислил результат операции сравнения 5 "Больше" 3
, и определил его как Истина. Т.е. когда мы подставим 5 > 3 вместо условия в конструкцию Если():, то интерпетатор Python перенаправит выполнение программы по основному пути ветвления.
if (5 > 3):
print("Основной путь ветвления")
else:
print("Альтернативный путь ветвления")
Какие еще есть результаты применения этого оператора?
Перепишем наше условие, чтобы оно не было истинным и спросим у Python'а, что получится в результате операции сравнения?
>>> 3 > 5
Результат будет следующим:
>>> 3 > 5
False
False, переводится на русский как Ложь. По сути это и есть два состояния, которые мы получаем применяя любой оператор сравнения к любым сравнимым объектам. Ложь
или Правда. True
или False.
Кстати! Переменные, к которым применяются операции сравнения называются операндами.
Логично предположить, что если есть оператор сравнения "Больше", то есть и оператор сравнения "Меньше". И он действительно есть, а кроме того есть еще ряд операторов сравнения:
<
Меньше — условие верно, если первый операнд меньше второго.>
Больше — условие верно, если первый операнд больше второго.<=
Меньше или равно.>=
Больше или равно.==
Равенство. Условие верно, если два операнда равны.!=
Неравенство. Условие верно, если два операнда неравны.
Например, условие (x * x < 1000)
означает “значение x * x
меньше 1000”, а условие (2 * x != y)
означает “удвоенное значение переменной x
не равно значению переменной y
”.
Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c
или 1 <= x <= 10
.