В 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).