运算符的补充
昨天讲解了 算数运算符 赋值运算符 比较运算符,今天我们讲解剩余的三种运算符
逻辑运算符
逻辑运算符针对布尔值进行运算,如果操作项目不是布尔值,系统会先将其转化成bool值再进行逻辑运算
下面介绍常见的转化后bool值为False的情况:
一些具有代表空含义的转化成bool值后为False 例如
空格 整数0 空字符串 空列表 和None
除了上述说的转为bool值为False的情况,其余的转为bool值后为True
逻辑非 not
逻辑非会针对布尔值进行取反操作,也即True变False False变True
可以看到这里a开始为True 进行了逻辑非操作 not a后结果变成了False
下面看一下针对非布尔值的逻辑非运算
可以看到b=200转为bool值后为True,再进行逻辑非运算后结果为False
而上述提到的空串 None等情况转为bool值后为False,进行逻辑非运算后结果为True
逻辑与 and
逻辑与操作找False
只要有一个False就返回False,都为True时才返回True
可以类比爱情,只有两个人都真心喜欢对方才能叫做爱情,只要有一个不喜欢对方这爱情也就失去了意义和价值(方便读者理解,不要emo)
可以看上述的代码加深理解
下面进行个有意思的操作
请问这两个代码最终各自返回什么呢?读者可以思考一下
先看结果
第一个打印了hello,第二个没进行打印操作,这是为什么呢?
通过上述讲解,and找False,第一行代码前面为True则返回第二个的值,也即执行打印操作
而第二行代码前面为False,and找到False后就停止了,所以不执行打印操作了
逻辑或 or
逻辑或操作找True
只要有一个True就返回True,都为False时才返回False
可以类比亲情,你和父母只要有一个关心着对方这就构成了一个家(方便理解)
这里再放三个有意思的代码,还是自己思考
这里是结果,读者不懂的话可以参考上面的逻辑与的代码,或者可以评论区留言
非布尔值的与或运算
非布尔值的与或运算就是指两个操作数均为非布尔值
上述我们已经讲过了逻辑运算符,这里只是它的一种子情况,便不再多说了
逻辑与 and 找False 如果第一个值为False则返回第一个值,否则返回第二个值
逻辑或 or 找True 如果第一个值为True则返回第一个值,否则返回第二个值
条件运算符
条件运算符的基本格式为: 语句1 if 表达式 else 语句2
执行流程为:先判断表达式的真假,表达式为真,执行语句1,表达式为假,执行语句2
这里还涉及到了如何运用条件运算符判断三个数中的最大数,这里只需要借助一个中间变量mid进行两次条件运算即可
运算符的优先级
这里同一行,越往左优先级越大
非同行的越靠上优先级越大
结语
python的运算符就先学习到这里了,明天开始学习python的if语句和while语句,希望大家多多关注,多多指正!