算术运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| x + y | 加 | 1 + 2=3 |
| x - y | 减 | 3 - 2=1 |
| x * y | 乘 | 2 * 3=6 |
| x / y | 除(返回浮点数) | 5 / 2 = 2.5 |
| x // y | 除(返回整数) | 5 / 2 = 2 |
| x % y | 取余 | 5 % 2 = 1 |
| -x | 异号 | -(-4) = 4 |
| +x | 正号 | +(-4) = -4 |
| abs(x) | 取绝对值 | abs(-0.4) = 0.4 |
| int(x) | x转换为整数 | int(5.5) = 5 |
| float(x) | x转换为浮点数 | float(5) = 5.0 |
| complex(re, im) | 返回复数,-re为实数部分,im为虚数部分 | complex(5, 3) = 5 + 3j |
| c.conjugate() | 返回c的共轭复数 | c = 5 + 3j; c.conjugate() = 5 - 3j |
| divmod(x, y) | 返回一个整数数值对(x // y, x % y) | divmod(7, 3) = (2, 1) |
| pow(x, y) | x的y次幂 | pow(2, 3) = 8 |
| x ** y | x的y次幂 | 2 ** 3 = 8 |
- 为了明确浮点数到整数的转换,建议使用math.floor()向下取整和math.ceil()向上取整
比较运算符
| 运算符 | 描述 |
|---|---|
| < | 小于 |
| <= | 小于等于 |
| > | 大于 |
| >= | 大于等于 |
| == | 等于 |
| != | 不等于 |
| is | 判断两个标识符是不是引用自一个对象 |
| is not | 判断两个标识符是不是引用自不同对象 |
- 所有比较运算符的优先级相同
- Python允许 x < y < z 形式的链式比较,相当于 x < y and y < z
- 复数不能比较大小,只能比较是否相等
逻辑运算符
| 运算符 | 描述 |
|---|---|
| x or y | 如果x和y都是false,返回false,否则,返回true |
| x and y | 如果x和y都是true,返回true;否则,返回false |
| not x | 如果x是true,返回false;否则,返回true |
- or 和 and 均为短路运算符,若前面已经可以得到结果,则不计算后面
- not的优先级低于其他运算符
位运算符
| 运算符 | 描述 |
|---|---|
| x | y | 按位或运算符 |
| x & y | 按位与运算符 |
| x ^ y | 按位异或运算符 |
| x << n | 左移动运算符 |
| x >> n | 右移动运算符 |
| ~x | 按位取反运算符 |
赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 简单的赋值运算符 |
| += | 加法赋值运算符 |
| -= | 减法赋值运算符 |
| *= | 乘法赋值运算符 |
| /= | 除法赋值运算符 |
| %= | 取模赋值运算符 |
| **= | 幂赋值运算符 |
| //= | 取整除法运算符 |
成员运算符
| 运算符 | 描述 |
|---|---|
| in | 如果在指定的序列中找到值,返回true;否则,返回false |
| not in | 如果在指定的序列中没有找到值,返回true;否则,返回false |