52 lines
1.5 KiB
Markdown
52 lines
1.5 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 Docs - 布尔运算](https://docs.python.org/3/library/stdtypes.html#boolean-operations-and-or-not)
|
||
|
||
这些是布尔运算,按升序排序:
|
||
|
||
操作|结果|笔记
|
||
\--------- | ------------------------------------ | -----
|
||
x或y |如果x为假,则为y,否则为x | (1)
|
||
x和y |如果x为假,则为x,否则为y | (2)
|
||
不是x |如果x为假,则为True,否则为False | (3)
|
||
|
||
**笔记:**
|
||
|
||
1. 这是一个短路运算符,因此只有在第一个参数为False时才会计算第二个参数。
|
||
2. 这是一个短路操作符,因此只有在第一个参数为True时才会计算第二个参数。
|
||
3. 没有比非布尔运算符更低的优先级,因此不是a == b被解释为不是(a == b),而a ==不是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
|
||
|
||
``` |