Python运算符
算术运算符/ (结果为小数)//%**
比较运算符==
赋值运算符= 将右侧的值赋值给左侧变量*=
成员运算符身份运算符逻辑运算符and 逻辑与or 逻辑或not 逻辑非逻辑短路的两种情况
位运算符& 按位与^ 按位异或<< 左移与>> 右移~ 按位非
总结个别运算符同一种类运算符整体排序
算术运算符
算数运算符包含有+(加)、-(减)、*(乘)、/(除)、//(地板除)、**(幂运算)、%(取余)
/ (结果为小数)
var1
= 2
var2
= 2
res
= var1
/ var2
print(res
)
//
被除数 ➗ 除数 = 商注意点:如果被除数或者除数是小数,那么在正常结果后加上**.0**变成小数
var1
= 2
var2
= 2.0
res
= var1
// var2
print(res
)
%
var1
= 7
var2
= 4
res
= var1
% var2
print(res
)
var1
= -7
var2
= 4
res
= var1
% var2
print(res
)
var1
= 7
var2
= -4
res
= var1
% var2
print(res
)
var1
= -7
var2
= -4
res
= var1
% var2
print(res
)
**
res
= 3 ** 2
print(res
)
比较运算符
比较运算符包含有>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)比较运算符的结果要么是True,要么是False,只有两个值
==
res
= 5 == 9
print(res
)
赋值运算符
赋值运算符包含有=、+=、-=、*=、/=、//=、%=、**=
= 将右侧的值赋值给左侧变量
a
= 5 <= 3
print(a
)
*=
"""
var1 *= var2 相当于 var1 = var1 * var2
"""
var1
*= var2
print(var1
)
成员运算符
成员运算符包含有in、not in(针对于容器型数据)in或not in是判断某个值是否包含在(或不在)一个容器类型数据当中字符串判断时,必须是连续的片段针对于字典,判断的是字典的键,而不是字典的值
strvar
= "今天天气要下雨,赶紧回家收衣服"
res
= "今" in strvar
res
= "赶回" in strvar
print(res
)
身份运算符
身份运算符包含有is和is not(检测两个数据id是否相同),可参考python3.6变量缓存机制
逻辑运算符
逻辑运算符包含有and、or、not
and 逻辑与
"""全真则真,一假则假"""
res
= True and True
res
= True and False
res
= False and True
res
= False and False
print(res
)
or 逻辑或
"""一真则真,全假则假"""
res
= True or True
res
= False or True
res
= True or False
res
= False or False
print(res
)
not 逻辑非
res
= not True
res
= not False
print(res
)
逻辑短路的两种情况
如果短路,无论后面的表达式是True还是False都已经无法改变结果,后面的代码不执行
(1) True or 表达式(2) False and 表达式
位运算符
位运算符包含有&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)、~(按位非)
& 按位与
var1
= 19
var2
= 15
res
= var1
& var2
"""
000 ... 10011
000 ... 01111
000 ... 00011 => 3
^ 按位异或
"""
两个值不相同,返回True
两个值相同,返回False
"""
var1
= 19
var2
= 15
res
= var1
^ var2
"""
000 ... 10011
000 ... 01111
000 ... 11100
"""
<< 左移与>> 右移
"""
左移:m乘n的n次幂
右移:m地板除n的n次幂
"""
res
= 5 << 3
res
= 5 >> 1
print(res
)
~ 按位非
res
= ~19
print(res
)
"""
原码:000 ... 10011
反码:000 ... 10011
补码:000 ... 10011
补码: 000 ... 10011
按位非: 111 ... 01100
补码:111 ... 01100
反码:100 ... 10011
原码:100 ... 10100 => -20
"""
总结
个别运算符
运算符优先级最高: **运算符优先级最低: =() 可以提升优先级
同一种类运算符
算术运算符: 乘除 > 加减逻辑运算符: () > not > or位运算符: (<<、>>) > & > ^ > |
整体排序
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符 > 赋值运算符