CH3. 运算符
算数运算符
- 用于处理四则运算的符号
运算符 | 描述说明 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 1+1 | 2 |
- | 减法 | 1-1 | 0 |
* | 乘法 | 2*3 | 6 |
/ | 除法 | 10/2 | 5.0 |
// | 整除 | 10//3 | 3 |
% | 取余 | 10%3 | 1 |
** | 幂运算 | 2**4 | 16 |
- 算数运算符的优先级由高到低:
- 第一级:
**
- 第二级:
*
、/
、%
、//
- 第三级:
+
、-
- 第一级:
赋值运算符
-
=
简单的赋值运算 -
算术运算符扩展的赋值运算符:
+=
、-=
、*=
、/=
、%=
、**=
、//=
-
链式赋值:
a=b=c=100 # 相当于a=100 b=100 c=100
- 系列解包赋值:
a,b=10,20 # 相当于a=10 b=20
- 使用系列解包赋值可以完成两个数值的交换
a,b=10,20
print(a,b)
# 10 20
a,b=b,a
print(a,b)
# 20 10
- 字符串分解赋值
a,b,c,d='room'
print(a,b,c,d)
# r o o m
比较运算符
- 比较结果为bool值,
True
orFalse
- 包括:
>
、<
、==
、!=
、>=
、<=
逻辑运算符
and
– 逻辑与or
– 逻辑或not
– 逻辑非
位运算符
-
把数字看做二进制数来进行计算
-
按位与 –
&
,按位均为1,则结果为1 -
按位或 –
|
,按位有值为1,则结果为1 -
按位异或 –
^
,按位相同则为0,不同则为1 -
按位取反 –
~
-
左移位 –
<<
,将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位段)的空位用0补充 -
右移位 –
>>
,将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(整数)左侧空位补0;如果最高位是1(负数),左侧空位补1 -
“左乘右除”
运算符的优先级
运算符 | 描述说明 |
---|---|
** | 幂运算 |
~ 、+ 、- | 取反、正号、负号 |
* 、/ 、% 、// | 算术运算符 |
+ 、- | 算术运算符 |
<< 、>> | 位运算符的左移位和右移位 |
& | 位运算符的按位与 |
^ | 位运算符的按位异或 |
` | ` |
< 、<= 、> 、>= 、!= 、== | 比较运算符 |
= | 赋值运算符 |