True:
>>> 5 < x and x < 10
True
Как указывается в подразделе «Приоритет операций» раздела «Числа» главы 2,
самый простой способ избежать путаницы — использовать круглые скобки:
>>> (5 < x) and (x < 10)
True
Сравниваем выражения с помощью операторов if, elif и else
105
Рассмотрим некоторые другие проверки:
>>> 5 < x or x < 10
True
>>> 5 < x and x > 10
False
>>> 5 < x and not x > 10
True
Если вы используете оператор and для того, чтобы объединить несколько про-
верок, Python позволит вам сделать следующее:
>>> 5 < x < 10
True
Это выражение аналогично проверкам 5 < x и x < 10. Вы также можете писать
более длинные сравнения:
>>> 5 < x < 10 < 999
True
Что есть истина? Что, если элемент, который мы проверяем, не является буле-
вым? Чем Python считает True и False?
Значение false не обязательно явно означает False. Например, к False прирав-
ниваются все следующие значения:
булева переменная False;
значение None;
целое число 0;
число с плавающей точкой 0.0;
пустая строка (' ');
пустой список ([]);
пустой кортеж (());
пустой словарь ({});
пустое множество (set()).
Все остальные значения приравниваются к True. Программы, написанные на
Python, используют это определение истинности (или, как в данном случае, лож-
ности), чтобы выполнять проверку на пустоту структуры данных наряду с про-
веркой на равенство непосредственно значению False:
>>> some_list = []
>>> if some_list:
... print("There's something in here")
... else:
... print("Hey, it's empty!")
...
Hey, it's empty!
106