Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 75

х < 10 также возвращает True, поэтому наше выражение преобразуется в True and

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