1.算术运算符
% 表示求余,与除数有关
//表示整除取整
**表示幂
2.赋值运算符
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
3.逻辑运算符
and 表示逻辑与,一假则假
or 表示逻辑或,一真则真
not 表示逻辑非
4.位运算符
& 位与:数据用二进制表示,只有对应数位都是1时,结果数位才是1,否则为0.(有0即为0)
举例:12 & 8 = 8
0 0 0 0 1 1 0 0
& 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0
| 位或:对应数位有一个为1,就为1.(有1即为1)
^ 位异或:对应位数同时为0或同时为1时,结果为0,否则为1.(全0或全1才为0)
~ 位取反(位非):将操作数中对应的二进制数1修改为0,0修改为1.
<< 左移位运算符:将一个二进制的操作数向左移动指定的位数,左边溢出来的位丢弃,右边的空位用0补齐。
>> 右移位运算符:将一个二进制的操作数向右移动指定的位数,右边溢出来的位丢弃,而在填充左边的空位时,如果最高位是0(正数),左侧空位用0补齐;如果最高位是1(正数),左侧空位用1补齐.
举例:
(00110000 << 1)= 01100000 用十进制来表示就是 48 x 2 = 96
(00110000 >> 1) = 00011000 用十进制来表示就是 48 / 2 = 24shu
print("12 & 8 = " + str(12 & 8))
print("12 | 8 = " + str(12 | 8))
print("12 ^ 8 = " + str(12 ^ 8))
print("~ 8 = " + str(~ 8))
输出为:
12 & 8 = 8
12 | 8 = 12
12 ^ 8 = 4
~ 8 = -9