表1-1 数学操作符,优先级从高到低
操作符 | 操作 | 例子 | 求值为 |
---|---|---|---|
** | 指数 | 2 ** 3 | 8 |
% | 取模/取余数 | 22 % 8 | 6 |
// | 整除/商数取整 | 22 // 8 | 2 |
/ | 除法 | 22 / 8 | 2.75 |
* | 乘法 | 3 * 5 | 15 |
- | 减法 | 5 - 2 | 3 |
+ | 加法 | 2 + 2 | 4 |
数学操作符的操作顺序(也称为“优先级”)与数学中类似。**
操作符首先求值,接下来是*
、/、//和%操作符,从左到右。+和-操作符最后求值,也是从左到右。如果需要,可以用括号来改变通常的优先级。
1、==操作符(等于)有两个等号,而=操作符(赋值)只有一个等号。这两个操作符很容易混淆。只要记住:
• ==操作符(等于)问两个值是否彼此相同。
• =操作符(赋值)将右边的值放到左边的变量中。
为了记住谁是谁,请注意==操作符(等于)包含两个字符,就像!=操作符(不等于)包含两个字符一样。
2、and和or操作符总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。如果两个布尔值都为True,and操作符就将表达式求值为True,否则求值为False。
“真值表”显示了布尔操作符的所有可能结果。表2-2是操作符and的真值表。
表2-2 and操作符的真值表
表达式 | 求值为 |
---|---|
True and True | True |
True and False | False |
False and True | False |
False and False | False |
另一方面,只要有一个布尔值为真,or操作符就将表达式求值为True。如果都是False,所求值为False。
可以在or操作符的真值表中看到每一种可能的结果,如表2-3所示。
表2-3 or操作符的真值表
表达式 | 求值为 |
---|---|
True or True | True |
True or False | True |
False or True | True |
False or False | False |
3、not操作符只作用于一个布尔值(或表达式)。not操作符求值为相反的布尔值。
>>> not True
False
❶ >>> not not not not True
True
就像在说话和写作中使用双重否定,你可以嵌套not操作符❶,虽然在真正的程序中并不经常这样做。表2-4展示了not的真值表。
表2-4 not操作符的真值表
表达式 | 求值为 |
---|---|
not True | False |
not False | True |
4、和算术操作符一样,布尔操作符也有操作顺序。在所有算术和比较操作符求值后,Python先求值not操作符,然后是and操作符,然后是or操作符。
版权声明:本文由 Duter2016 在 2019年09月22日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
文章题目及链接:《「Python教程04」Python数学操作符》