В Python есть три основных логических оператора:
-
and
(логическое И): Возвращает True
, если оба операнда истинны. В противном случае возвращает False
.
Пример: True and True
вернет True
, а True and False
вернет False
. Он также может возвращать первый "ложный" (truthy) аргумент или последний истинный (truthy) аргумент, если все аргументы истинные.
-
or
(логическое ИЛИ): Возвращает True
, если хотя бы один из операндов истинен. Возвращает False
, только если оба операнда ложны.
Пример: True or False
вернет True
, а False or False
вернет False
. Он также может возвращать первый "истинный" (truthy) аргумент или последний ложный (falsy) аргумент, если все аргументы ложные.
-
not
(логическое НЕ): Возвращает True
, если операнд ложен, и False
, если операнд истинен. Это унарный оператор.
Пример: not True
вернет False
, а not False
вернет True
.
Важно помнить, что логические операторы в Python поддерживают "ленивое" вычисление (short-circuit evaluation). Это означает, что второй операнд вычисляется только в том случае, если это необходимо для определения результата операции. Например, в выражении `False and something_expensive()`, функция `something_expensive()` не будет вызвана, так как результат `and` уже известен (
False
). Аналогично, в `True or something_expensive()`, функция `something_expensive()` не будет вызвана, так как результат `or` уже известен (
True
).