【1】算数运算符
运算符 |
说明 |
实例 |
结果 |
+ |
加 |
1+1 |
2 |
- |
减 |
1-1 |
0 |
* |
乘 |
1*3 |
3 |
/ |
除法(和数学中的规则一样) |
4/2 |
2 |
// |
整除(只保留商的整数部分) |
7 // 2 |
3 |
% |
取余,即返回除法的余数 |
7 % 2 |
1 |
** |
幂运算/次方运算,即返回 x 的 y 次方 |
2 ** 4 |
16,即 24 |
【2】赋值运算符
运算符 |
说 明 |
用法举例 |
等价形式 |
= |
最基本的赋值运算 |
x = y |
x = y |
+= |
加赋值 |
x += y |
x = x + y |
-= |
减赋值 |
x -= y |
x = x - y |
*= |
乘赋值 |
x *= y |
x = x * y |
/= |
除赋值 |
x /= y |
x = x / y |
%= |
取余数赋值 |
x %= y |
x = x % y |
**= |
幂赋值 |
x **= y |
x = x ** y |
//= |
取整数赋值 |
x //= y |
x = x // y |
&= |
按位与赋值 |
x &= y |
x = x & y |
|= |
按位或赋值 |
x |= y |
x = x | y |
^= |
按位异或赋值 |
x ^= y |
x = x ^ y |
<<= |
左移赋值 |
x <<= y |
x = x << y,这里的 y 指的是左移的位数 |
>>= |
右移赋值 |
x >>= y |
x = x >> y,这里的 y 指的是右移的位数 |
【3】比较运算符
比较运算符 |
说明 |
> |
大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< |
小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== |
等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= |
大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= |
小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= |
不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
is |
判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not |
判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
【4】逻辑运算符
逻辑运算符 |
含义 |
基本格式 |
说明 |
and |
逻辑与运算 |
a and b |
当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or |
逻辑或运算 |
a or b |
当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not |
逻辑非运算 |
not a |
如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
print(2>1 and 1==2) # False
print(not 3<5) # False
print(not(4<2) or 1==2) # True
值得注意的是逻辑运算符有一套很好玩的短路算法
print(2 and 1)
print(0 and 1)
print(0 or 1)
print(3 or 5)