Python/Учебник Python 3.1: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 1546:
Сравнения могут быть скомбинированы с использованием булевых операций <code>and</code> и <code>or</code>, а результат сравнения (или любого другого булева выражения) можно отрицать используя <code>not</code>. Эти операции имеют меньший приоритет, чем у операций сравнения; среди них у <code>not</code> высший приоритет, а у <code>or</code> — низший, поэтому <code>A and not B or C</code> эквивалентно <code>(A and (not B)) or C</code>. Как всегда, явно заданные скобки помогут выразить желаемый порядок выполнения операций.
 
Булевы операции <code>and</code> и <code>or</code> — это так называемые ''коротящие операции''<ref>''(Прим. перев.)'' ''short-circuit''{{ref-en}} — закоротить, обходить, идти обходными путями (для достижения цели), препятствовать</ref> (<tt>short-circuit operators</tt>): их операнды вычисляются слева направо и вычисление заканчивается как только результат становится определён (очевиден). Например, если <code>A</code> и <code>C</code> истинны, а <code>B</code> — ложно, в условии <code>A and B and C</code> выражение <code>C</code> не вычисляется. Когда ''коротящая операция'' используется не в контексте логической операции, она возвращает последний элемент, который был вычислен:.
 
<source lang="python">>>> if (8 and 3): print(8 and 3)
...
3</source>
 
Можно присвоить результат сравнения, или другого булева выражения, переменной. Например,