Python 提供一整套布尔比较和逻辑运算,详细信息请分别参见下表:
表 1. Python 中的布尔比较运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| < | 小于 | i < 100 |
| <= | 小于等于 | i <= 100 |
| > | 大于 | i > 100 |
| >= | 大于等于 | i >= 100 |
| == | 相等 | i == 100 |
| != | 不相等(另外使用 <>) | i != 100 |
补充一点,表 1 中列出的运算符优先级都一样,除非将表达式置于括号中,否则按从左到右的顺序应用。
表 2. Python 中的逻辑运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
not | 逻辑非 | not b |
and | 逻辑与 | (i <= 100) and (b == True) |
or | 逻辑或 | (i < 100) or (f > 100.1) |
逻辑运算符的优先级低于单独的比较运算符,这一点意义重大,因为必须先计算比较运算符,然后才能计算逻辑运算符。逻辑运算符的实际优先级就是表 2 中罗列这些运算符的顺序。
在 Python 中,关于 or 和 and 逻辑运算符有意思的是,它们都是快捷运算符。简言之,如果给定表达式
x or y,则仅当 x 为 False 时才会计算
y。同样地,如果给定表达式 x and y,则仅当 x 为
True 时,才会计算 y。此功能可以增强表达式求值的性能(尤其是针对长的或复杂的表达式),然而对于习惯于从其他语言学来的不同规则的程序员而言,则容易犯错。
表 3. Python 中的算术运算
| 运算符 | 描述 | 示例 |
|---|---|---|
| * | 乘 | i * 100 |
| / | 除 | i / 100 |
| // | 整除 | i // 100 |
| % | 取余 | f % 100 |
| + | 加 | i + 100 |
| - | 减 | i - 100 |
乘法和除法运算符(表 3 中列出的前四个)具有高于加法和减法的优先级。如前所述,您可以通过使用括号分组子表达式,将其分离出来以提高优先级。
表 4. Python 中的位运算
| 运算符 | 描述 | 示例 |
|---|---|---|
| ~ | 按位求补 | ~b |
| << | 向左位移 | b << 1 |
| >> | 向右位移 | b >> 1 |
| & | 按位和 | b & 0x01 |
| ^ | 按位异或 | b ^ 0x01 |
| | | 按位或 | b | 0x01 |
本文深入探讨了Python中的布尔比较运算符和逻辑运算符的使用方法,包括小于、小于等于、大于、大于等于、相等、不相等、逻辑非、逻辑与和逻辑或,以及它们的优先级和特殊行为。
1104

被折叠的 条评论
为什么被折叠?



