运算符
- 举个简单的例子
4 + 5 = 9
。 例子中,4
和5
被称为操作数,+
称为运算符。 - Python 中的运算符用于执行各种操作,例如:执行算术运算、比较值、逻辑操作等。
算术运算符
以下假设变量: a, b = 10, 3
运算符 | 描述 | 实例 |
---|---|---|
+ |
加法:用于将两个值相加。 | a + b = 13 |
- |
减法:用于从一个值中减去另一个值。 | a - b = 7 |
* |
乘法:用于将两个值相乘。 | a * b = 30 |
/ |
除法:用于将一个值除以另一个值。 | a / b = 3.3333333333333335 |
// |
地板除:用于执行整数除法,返回不大于结果的最大整数(向下取整)。 | a // b = 3 |
% |
取模:返回除法的余数。 | a % b = 1 |
** |
幂运算:用于计算一个值的幂次方。 | a ** b = 1000 |
比较运算符
以下假设变量: a, b = 10, 3
运算符 | 描述 | 实例 |
---|---|---|
== |
等于:用于检查两个值是否相等。 | a == b 返回 False |
!= |
不等于:用于检查两个值是否不相等。 | a != b 返回 True 。 |
> |
大于:用于检查一个值是否大于另一个值。 | a > b 返回 True 。 |
< |
小于:用于检查一个值是否小于另一个值。 | a < b 返回 False 。 |
>= |
大于等于:用于检查一个值是否大于或等于另一个值。 | a >= b 返回 True 。 |
<= |
小于等于:用于检查一个值是否小于或等于另一个值。 | a <= b 返回 False 。 |
逻辑运算符
以下假设变量: a, b = 10, 3
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and |
x and y |
与:用于检查多个条件是否同时为真。 | a and b 返回 3 。 |
or |
x or y |
或:用于检查多个条件是否至少有一个为真。 | a or b 返回 10 。 |
not |
not x |
非:用于对条件取反。 | not a 返回 False |
示例:
1 | # 判断是否是闰年 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= |
简单赋值:用于将一个值赋给一个变量。 | x = 5 赋值 |
+= |
加法赋值:用于将一个值与一个变量相加,并将结果赋给该变量。 | x += 3 相当于 x = x + 3 |
-= |
减法赋值:用于将一个值从一个变量中减去,并将结果赋给该变量。 | x -= 2 相当于 x = x - 2 |
*= |
乘法赋值:用于将一个值与一个变量相乘,并将结果赋给该变量。 | x *= 4 相当于 x = x * 4 |
/= |
除法赋值:用于将一个值除以一个变量,并将结果赋给该变量。 | x /= 2 相当于 x = x / 2 |
%= |
取模赋值:用于将左侧的变量取模右侧的值,并将结果赋给该变量。 | x %= 3 相当于 x = x % 3 |
**= |
幂赋值:用于将左侧的变量的值提升到右侧的幂,并将结果赋给该变量。 | x **= 2 相当于 x = x ** 2 |
//= |
取整除:用于将左侧的变量进行地板除右侧的值,并将结果赋给该变量。 | x //= 5 相当于 x = x // 5 |
成员运算符
成员运算符用于检查一个值是否属于某个集合或序列。
运算符 | 描述 |
---|---|
in |
如果左侧的值存在于右侧的集合或序列中,则返回 True。 |
not in |
如果左侧的值不存在于右侧的集合或序列中,则返回 True。 |
示例:
1 | fruits = ['apple', 'banana', 'orange'] |
身份运算符
用于检查两个对象是否引用同一个内存地址。
运算符 | 描述 |
---|---|
is |
如果两个对象具有相同的内存地址,则返回 True。 |
is not |
如果两个对象具有不同的内存地址,则返回 True。 |
示例:
1 | x = 5 |
位运算符
位运算符用于对二进制数进行操作。
运算符 | 描述 |
---|---|
& |
按位与运算符,对两个操作数的每个对应位执行与操作。 |
` | ` |
^ |
按位异或运算符,对两个操作数的每个对应位执行异或操作。 |
~ |
按位取反运算符,对操作数的每个位执行取反操作。 |
<< |
左移运算符,将第一个操作数的二进制表示向左移动指定的位数。 |
>> |
右移运算符,将第一个操作数的二进制表示向右移动指定的位数。 |
示例:
1 | x = 5 # 二进制表示为 0101 |
1 | a = 0b10101 |
运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND’ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |