52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
---
|
||
title: Python Boolean Operations
|
||
localeTitle: Булевы операции на Python
|
||
---
|
||
[`and`](https://docs.python.org/3/reference/expressions.html#and) , [`or`](https://docs.python.org/3/reference/expressions.html#or) , [`not`](https://docs.python.org/3/reference/expressions.html#not)
|
||
|
||
[Документы Python - логические операции](https://docs.python.org/3/library/stdtypes.html#boolean-operations-and-or-not)
|
||
|
||
Это булевские операции, упорядоченные по приоритету приоритета:
|
||
|
||
Операция | Результат | Заметки
|
||
\--------- | ------------------------------------ | -----
|
||
x или y | если x ложно, то y, else x | (1)
|
||
x и y | если x ложно, то x, else y | (2)
|
||
не x | если x является ложным, то True, else False | (3)
|
||
|
||
**Заметки:**
|
||
|
||
1. Это оператор короткого замыкания, поэтому он оценивает только второй аргумент, если первый - False.
|
||
2. Это оператор короткого замыкания, поэтому он вычисляет только второй аргумент, если первый имеет значение True.
|
||
3. не имеет более низкого приоритета, чем небулевые операторы, поэтому не == b интерпретируется как нет (a == b), а a == not b является синтаксической ошибкой.
|
||
|
||
## Примеры:
|
||
|
||
### `not` :
|
||
```
|
||
>>> not True
|
||
False
|
||
>>> not False
|
||
True
|
||
```
|
||
|
||
### `and` :
|
||
```
|
||
>>> True and False # Short-circuited at first argument.
|
||
False
|
||
>>> False and True # Second argument is evaluated.
|
||
False
|
||
>>> True and True # Second argument is evaluated.
|
||
True
|
||
```
|
||
|
||
### `or` :
|
||
```
|
||
>>> True or False # Short-circuited at first argument.
|
||
True
|
||
>>> False or True # Second argument is evaluated.
|
||
True
|
||
>>> False or False # Second argument is evaluated.
|
||
False
|
||
|
||
``` |