and
с числами в Python выполняет логическое "И". Он возвращает:
False
, любое другое число - True
.
При использовании оператора and
с числами в Python, происходит логическое И. Оператор and
возвращает значение, которое после приведения к логическому типу bool
было бы False
, если хотя бы один из операндов можно интерпретировать как False
. В противном случае, возвращается последний операнд.
Числа интерпретируются как True
или False
следующим образом:
0
(ноль) считается False
.True
.Вот несколько примеров:
5 and 3
возвращает 3
(оба True
, возвращается последний).0 and 3
возвращает 0
(первый False
, возвращается он).3 and 0
возвращает 0
(первый True
, второй False
, возвращается он).-1 and 1
возвращает 1
(оба True
, возвращается последний).Важно понимать, что and
не всегда возвращает True
или False
. Он возвращает один из операндов. Для получения булевого результата можно использовать bool(x and y)
.
Пример:
x = 5 and 3 # x будет равно 3
y = 0 and 3 # y будет равно 0
z = bool(5 and 3) # z будет равно True
В контексте условных выражений, результат and
автоматически приводится к bool
, поэтому обычно нет необходимости явно использовать bool()
.