前言
🐱👤还在被优先级搞得焦头烂额吗? 🐱👤
🐱🐉还在为python中众多运算符傻傻分不清楚而困惑吗? 🐱🐉
🐱👓在这里将会对python中的运算符进行深度刨析,为你解惑.🐱👓
这里是目录
一.python基础知识续写(操作符篇)
1.1算术操作符:
在python中的操作符有:+ - * / % ** // 它们分别是加,减,乘,除,求余,求整。就与我们熟知的数学运算一样的,但值得一提的是/ 与//的小区别,我们运行一个简单的代码测试一下。
a = b = c = d = e = 6
a += 4
b -= 3
c *= 2
d /= 4
e //= 4
print(a, b, c, d, e)
运行结果如上图,python3后 除:/ 都是可以取到一个完整小数,而 取整:// 是得到一个整数,我们也可以称它为地板除法,它的计算结果就是取整数部分,舍弃小数部分,而不是四舍五入。
百分号(%)表示求余的意思:
我们同样运行一个简单的代码测试一下。
a = 7 & 5
b = 6 % 3
c = 2 % 4
print(a, b, c)
眼尖的小伙伴们可能注意到了,当被求余数小于求余数时,结果为被求余数本身。虽然很拗口,但还是很好理解的。
幂运算操作符():
python中有一个比较特殊的乘法(),他用于做幂运算操作,4**2,也就是4的2次幂,结果为16;同样把代码搞里头。
a = 4 ** 2
print(a)
1.2比较操作符:
比较运算符包括:< <= > >= == !=
比较操作符根据表达式的值的真假返回布尔类型:也即是成立返回True(真),否则返回False(假)
1.3逻辑操作符:
逻辑操作符包括:and or not
and操作符:当只有左边的操作数为True,且右边的操作数同时为True时,整个的结果才为True,如果任意一边为False时,整个的结果都为False
or操作符与and操作符不同,or操作符值需要左边或者右边任意一边为True时,结果都为True,只有当两边都为False时,结果才为False
not操作符是一个一元操作符,它的作用是得到一个和操作数相反的布尔类型的值:
通常True的值为1,但逻辑上非0的数都代表True(真)哦。所以not -1为True,not 4也为True。
在python中表达式:5 > 3 < 4,可以这样来表示一个区间,但在其它编程语言中这样是不合法的,在python中这个表达式被解释为:
5 > 3 and 3 < 4;
常用操作符优先级如下表:
优先级 | 操作符 |
---|---|
一级 | **(幂运算) |
二级 | +X -X(正负号) |
三级 | * / // + -(算术操作符) |
四级 | < <= > >= == !=(比较操作符) |
五级 | not and or(逻辑运算符) |
那么not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9的结果为多少呢,给个小提示逻辑运算符中的优先级not > and > or
其实就相当于是(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)。
结果为4,小伙伴没做对了吗?