Python基础之运算符
本节会介绍Python中的七大运算符,算术运算符,逻辑运算符,比较运算符,赋值运算符,成员运算符,身份运算符,位运算符。
算术运算符
运算符 | 名称 | 示例 |
+ | 加 | print(2.4 + 3.4) =>5.8 |
- | 减 | print(3.4 - 2.1) =>1.3 |
* | 乘 | print(2 *3) =>6 |
/ | 除 | print(12 / 3) =>4.0 |
% | 模 | print(14 % 3) =>2 |
** | 幂 | print(4 ** 3) =>64 |
// | 整除(去掉余数) | print(13 // 4) =>3 |
:= | 可在表达式内部为变量赋值。Python3.8 版本新增运算符。 | if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)") |
逻辑运算符
注:逻辑运算符只有and, or ,not,没有&&, ||, ! 等形式。
运算符 | 名称 | 示例 |
and | 与 | print(2 < 3 and 3 >= 1) print(2 < 3 and 3 >= 4) => False |
or | 或 | print(2 < 3 or 3 >= 4) => True |
not | 非 | print(not (2 < 3)) => False |
比较运算符
运算符 | 名称 | 示例 |
== | 等于 | 略 |
!= | 不等于 | |
> | 大于 | |
< | 小于 | |
>= | 大于或等于 | |
<= | 小于或等于 |
赋值运算符
运算符 | 名称 | 示例 | 等同于 |
= | 赋值 | x = 2 | x = 2 |
+= | 加赋值 | x += 3 | x = x + 3 |
-= | 减赋值 | x -= 3 | x = x - 3 |
*= | 乘赋值 | x *= 3 | x = x * 3 |
/= | 除赋值 | x /= 3 | x = x / 3 |
%= | 取模赋值 | x %= 3 | x = x % 3 |
//= | 整除赋值 | x //= 3 | x = x // 3 |
**= | 幂赋值 | x **= 3 | x = x ** 3 |
&= | 按位与赋值 | x &= 3 | x = x & 3 |
|= | 按位或赋值 | x |= 3 | x = x | 3 |
^= | 按位取反赋值 | x ^= 3 | x = x ^ 3 |
>>= | 按位右移赋值 | x >>= 3 | x = x >> 3 |
<<= | 按位左移赋值 | x <<= 3 | x = x << 3 |
成员运算符
运算符 | 名称 | 示例 |
in | 如果序列中存在具有指定值的元素,则返回 True,否则返回False。可比较某元素是否存在 于list, tuple, str, dict中。 | l = [1, 2, 3, 4, 5] => True False True
|
not in | 如果序列中不存在具有指定值的元素,则返回 True,否则返回False。可比较某元素是否存在 于list, tuple, str, dict中。 |
身份运算符
运算符 | 名称 | 示例 |
is | 如果两个变量是同一个对象,则返回 true。注意,比较的是内存地址,而不是值,与 == 不同。通过内置函数 id() 可以查看变量在内存中的地址。 | a = [1, 2, 3] => False |
is not | 如果两个变量不是同一个对象,则返回 true。 注意,比较的是内存地址,而不是值,与 == 不同。 |
位运算符
运算符 | 名称 | 说明 |
& | 按位与 | 如果两个位均为 1,则结果为 1。 |
| | 按位或 | 如果两位中的一位为 1,则结果为 1。 |
^ | 按位异或 | 两个位如果相同(都是1或者都是0)则为0,不同则为1(一个为1,另一个为0)。 |
~ | 按位取反 | 反转所有位。 |
<< | 按位左移 | 左移一位相当于乘以2。 |
>> | 按位右移 | 右移一位相当于除以2。 |
示例:
num = 100
print(bin(num))
print("%o" % num)
print("%d" % num)
print("%x" % num)
num2 = 121
print(bin(num2))
print(bin(~num2))
print(bin(~num2 & 0b1111111111111111))
print(bin(num & num2))
print(bin(num | num2))
print(bin(num ^ num2))
print(num << 3)
print(num >> 2)
输出:
D:\work\python_workspace\python_study\venv\Scripts\python.exe D:/work/python_workspace/python_study/basic_02/operator_bit.py
0b1100100
144
100
64
0b1111001
-0b1111010
0b1111111110000110
0b1100000
0b1111101
0b11101
800
25
Process finished with exit code 0