Операции сравнения. Логические операции

Ряд операций представляют условные выражения. Все эти операции принимают два операнда и возвращают логическое значение, которое в Python представляет тип bool. Существует только два логических значения – True (выражение истинно) и False (выражение ложно).

Операции сравнения
Простейшие условные выражения представляют операции сравнения, которые сравнивают два значения. Python поддерживает следующие операции сравнения:

== Возвращает True, если оба операнда равны. Иначе возвращает False.

!= Возвращает True, если оба операнда НЕ равны. Иначе возвращает False.

> (больше чем)

Возвращает True, если первый операнд больше второго.

< (меньше чем)

Возвращает True, если первый операнд меньше второго.

>= (больше или равно)

Возвращает True, если первый операнд больше или равен второму.

<= (меньше или равно)

Возвращает True, если первый операнд меньше или равен второму.

Примеры операций сравнения:


a = 5
b = 6
result = 5 == 6 # сохраняем результат операции в переменную
print(result) # False – 5 не равно 6
print(a != b) # True
print(a > b) # False – 5 меньше 6
print(a < b) # True

bool1 = True
bool2 = False
print(bool1 == bool2) # False – bool1 не равно bool2


Операции сравнения могут сравнивать различные объекты – строки, числа, логические значения, однако оба операнда операции должны представлять один и тот же тип.

Логические операции
Для создания составных условных выражений применяются логические операции. В Python имеются следующие логические операторы:

Оператор and (логическое умножение)

применяется к двум операндам:


x and y


Сначала оператор and оценивает выражение x, и если оно равно False, то возвращается его значение.

Если оно равно True, то оценивается второй операнд – y и возвращается значение y.


age = 22
weight = 58
result = age > 21 and weight == 58
print(result) # True


В данном случае оператор and сравнивает результаты двух выражений: age > 21 (age больше 21) weight == 58 (weight равно 58).

И если оба этих выражений возвращают True, то оператор and также возвращает True (формально возвращается значение последнего операнда).

And — означает «И» (в математической логике это называют конъюнкцией). Всё выражение считается истинным, только если истинен каждый операнд — каждое из составных выражений. Иными словами, and означает «и то, и другое».

Но операндами оператора and необязательно выступают значения True и False. Это могут быть любые значения. Например:

result = 4 and “w”
print(result) # w, так как 4 равно True, поэтому возвращается значение последнего операнда

result = 0 and “w”
print(result) # 0, так как 0 эквивалентно False


result = And — означает «И» (в математической логике это называют конъюнкцией). Всё выражение считается истинным, только если истинен каждый операнд — каждое из составных выражений. Иными словами, and означает «и то, и другое».


В данном случае число 0 и пустая строка “” расматриваются как False, все остальные числа и непустые строки эквивалентны True (как в нашем примере).

Разберём ещё раз пример:

result = 4 and “w”
print(result)

4 and “w” (4 и w) не 0 и не пустая строка, значит вывод True.

result = 0 and “w”
print(result

0 and “w” (0 и w) здесь в одном из двух значений имеется ноль, значит вывод False

or (логическое сложение)

также применяется к двум операндам:


x or y


Сначала оператор or оценивает выражение x, и если оно равно True, то возвращается его значение. Если оно равно False, то оценивается второй операнд – y и возвращается значение y.

Например


age = 22
isMarried = False
result = age > 21 or isMarried
print(result) # True, так как выражение age > 21 равно True


И также оператор or может применяться к любым значениям. Например:
result = 4 or “w”
print(result) # 4, так как 4 эквивалентно True, поэтому возвращается значение первого операнда

result = 0 or “w”
print(result) # w, так как 0 эквивалентно False, поэтому возвращается значение последнего операнда


not (логическое отрицание)

Возвращает True, если выражение равно False


age = 22
isMarried = False
print(not age > 21) # False
print(not isMarried) # True
print(not 4) # False
print(not 0) # True


Оператор in вхождения/членства элемента в Python

x in s
x not in s

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


Оператор in возвращает True если в некотором наборе значений есть определенное значение. Он имеет следующую форму:


значение in набор_значений


Например, строка представляет набор символов. И с помощью оператора in мы можем проверить, есть ли в ней какая-нибудь подстрока:


message = “hello world!”
hello = “hello”
print(hello in message) # True – подстрока hello есть в строке “hello world!”

gold = “gold”
print(gold in message) # False – подстроки “gold” нет в строке “hello world!”


Если нам надо наоборот проверить, нет ли в наборе значений какого-либо значения, то мы може использовать модификацию оператора – not in.

Она возвращает True, если в наборе значений НЕТ определенного значения


message = “hello world!”
hello = “hello”
print(hello not in message) # False

gold = “gold”
print(gold not in message) # True

Ещё примеры

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *