Python 逻辑运算符or

现在我们再来看最后一个逻辑运算符or。

or就是逻辑‘或’,它和前面讲的逻辑‘与’刚好相反。and是只要有一个条件不成立,结果就不成立,or就是只要有一个条件成立,那结果就成立。

还是找女朋友为例,第一个条件改成dog,第二个条件改成male,最后一个条件不变还是19,然后我再打印一下,看最后结果是不是True。

好了,现在我们这三个逻辑运算符and、or、not都会用了,就是从前往后判断吗!那如果我们把这三个逻辑运算符混在一起用,应该怎么判断呢?到底是从前往后判断,啥事先判断not?先判断and还是先判断or?

其实这三个是有优先级的,如果我们混用三个运算符,顺序应该是not>and>or。

我们来判断上面的代码是True还是False,首先我们把not用括号括起来,判断里面是T还是F,先看22>22,就是F,但是前面加了not,那结果就是F了,反转吗!

然后我们再看,这行代码还有没有其他的not,没有了的话就看下个优先级,and。第一个84!=73,这个是True,没什么说的。好第一个and我们判断完了,只要有一个条件不成立那就是False,这里两个条件都成立所以是True。

然后我们再看最后一个and,31==27,那这个结果就是False。前面我们说过,and有个偷懒原则,只要有一个False,后面就不会判断直接判定为False。所以第二个and判断为False。

后面18>20,这个我就不说了直接判断为False。

最后我们来看整体,or判断是只要有一个是True,那就判断True,所以我们最后打印一下,看是不是True,结果就是True

这种混用的方式,对于读代码的人来说太复杂了,所以以后我们写代码尽量不要这样混着写。尽量写成一串and连起来或者or连起来。

如果没办法了,一定要这样混用,那么把括号用起来,自己看方便,别人看也方便。

未经允许不得转载:445IT之家 » Python 逻辑运算符or

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏