Python中的运算符和优先级
常用运算符包括五种,分别是:
-
算数运算符
-
赋值运算符
-
比较运算符
-
布尔运算符
-
位运算符
接下来我们将会逐一介绍
1.算数运算符
算数运算符又被划分为三种:标准算术运算符,取余运算符和**幂运算符。**具体如图所示:
名称 | 内容 |
---|---|
标准算数运算符 | +,-,*,/,// |
取余运算符 | % |
幂运算符 | ** |
其中“+,-,*,/”我就不做多余的解释。
整除运算符//
当两者同号时,结果显而易见
但两者异号时,
-9//4怎么会等于-3呢?
我总结了一个规律:“一正一负向下取整”
-9/4的结果是-2.25,向下取整就是-3。
取余运算符%
简而言之,就是求余数
当然,取余运算符的操作数必须是整数。
For example,
print(9%4) #输出结果为1,说明余数为1
当两者异号时,
原因很简单。
当我们进行异号的取余运算时,“余数=被除数-除数*商”(其中的商是取整运算的结果)
例如“9%-4”,利用刚刚的公式运算
-3=9-(-4)*(-3)
2.赋值运算符
-
执行顺序:右→左
-
支持链式赋值→a=b=c=20
-
支持参数赋值→+=,-=,*=,/=,//=,%=
-
支持系列解包赋值→a,b,c=20,30,40
交换赋值
a,b=10,20
print(a,b)→10,20
#交换
a,b=b,a
print(a,b)→20,10
3.比较运算符
· 对变量或表达式的结果进行大小,真假等比较
>,<,>=,<=,!= | |
---|---|
== | 对象value的比较 |
is is not | 对象id的比较 |
我们试着进行运算
由上图可知,比较运算符的结果为bool类型。
但请注意
一个“=”称为赋值运算符,两个“=”称为比较运算符,“==”比较的是值
比较对象的表示使用is
例如a=10,b=10
print(a==b)→True
print(a is b)→True
而且is和==的区别可通过下图表示
4.布尔运算符
(图片转载网络)
我们拿and做例子
由此可知,当两个运算数都为True时,运算结果才为True
在这里我们要特别注意一下“in 和 not in ”
他们表示”在…里 和 不在…里"
5.位运算符
(图片转载网络)
一个数字在电脑里面是八位二进制码,
所以*2就是左移一位,
而/2就是右移一位,
n次方同理,移动n位
6.运算符的优先级
(图片转载网络)