Распространенная ситуация: проверка того, что переменная находится в заданных пределах. Можно было бы использовать логический оператор and:
if x >= 5 and x < 20:
Однако Python предоставляет нам синтаксическое удобство, которое выглядит более "математичным". Такая запись и короче, и понятнее:
if 5 <= x < 20:
В качестве операторов сравнения в цепочках могут быть любые из списка в любых сочетаниях:
"<", "==", ">=", "<=", "!=", "is" ["not"], ["not"] "in"
Т.е. запись вида a < b > c вполне законна, хоть и трудна для понимания.
Формально, если мы имеем N операций OP1...OPN и N + 1 выражений (a, b ... y, z), то запись вида:
OP1 b OP2 c ... y OPN z
Это эквивалентно записи:
OP1 b and b OP2 c and ... and y OPN z
📎 Примеры:
x = 5
print(1 < x < 10)
print(x < 10 < x*10 < 100)
print(10 > x <= 9)
print(5 == x > 4)
a, b, c, d, e, f = 0, 5, 12, 0, 15, 15
print(a <= b < c > d is not e is f)
#machinelearning #artificialintelligence #ai #datascience #python #programming #technology #deeplearning #coding #bigdata