Python-运算符
《看漫画学Python》第四章
一、算数运算符
算数运算符用于组织整数类型和浮点类型的数据,有一元运算符和二元运算符之分。
一元算数运算符有两个:+、-(正负号)
二元算数运算符:
运算符 | 例子 | 说明 |
---|---|---|
** | 幂 | a**b |
// | 地板除法 | a//b |
二、比较运算符
结果是布尔类型的数据,即Ture和False
运算符 | 名称 |
---|---|
== | 等于 |
!= | 不等于 |
>= | 大于等于 |
三、逻辑运算符
用于对布尔型变量进行计算,其结果也是布尔型
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
not | 逻辑非 | not a | a为True时,值为False,a为False时,值为True |
and | 逻辑与 | a and b | a、b都为True时,计算结果为True,否则为False |
or | 逻辑或 | a or b | a、b全为False时,计算结果为False,否则为True |
四、位运算符
以二进制(bit)为单位进行运算,操作数和结果都是整数类型的数据
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
~ | 位反 | -x | 将x按位取反 |
& | 位与 | x&y | 将x与y按位进行位与运算 |
l | 位或 | x l y | 将x与y按位进行位或运算 |
^ | 位异或 | x^y | 将x与y按位进行位异或运算 |
>> | 右移 | x>>a | 将x右移a位,高位采用符号位部位 |
<< | 左移 | x<<a | 将x左移a位,低位用0补位 |
高位---->低位
右移时高位采用符号位补位,符号位为1说明是负数,用1补位;符号位为0说明是正数,用0补位
位或:只要有一位为1,该位结果为1
位与:只有两位全为1,该位为1
位异或:只有两位相反,该位为1
按位取反涉及原码、补码、反码运算,比较麻烦,归纳的公式为:a=(a+1)×-1。若a为十进制数178,则a为十进制数-179;若a为十进制数-20,则~a为十进制数19
五、赋值运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
+= | 加赋值 | a+=b | 等价于a=a+b |
-= | 减赋值 | a-=b | 等价于a=a-b |
*= | 乘赋值 | a*=b | 等价于a*=b |
/= | 除赋值 | a/=b | 等价于a/=b |
%= | 取余赋值 | a%=b | 等价于a=a%b |
**= | 幂赋值 | a**=b | 等价于a=a**b |
//= | 地板除法赋值 | a//=b | 等价于a=a//b |
&= | 位与赋值 | a&=b | 等价于a=a&b |
l= | 位或赋值 | al=b | 等价于a=alb |
^= | 位异或赋值 | a^=b | 等价于a=a^b |
<<= | 左移赋值 | a<<=b | 等价于a=a<<b |
>>= | 右移赋值 | a>>=b | 等价于a=a>>b |
六、运算符的优先级
优先级 | 运算符 | 说明 |
---|---|---|
1 | () | 括号 |
2 | ** | 幂 |
3 | ~ | 位反 |
4 | +、- | 正负号 |
5 | *、/、%、// | 乘、除、取余、地板除 |
6 | +、- | 加、减 |
7 | <<、>> | 位移 |
8 | & | 位与 |
9 | ^ | 位异或 |
10 | l | 位或 |
11 | <,>,<=,>=,!=,== | 比较 |
12 | not | 逻辑非 |
13 | and,or | 逻辑与,逻辑或 |