Python not and or
Posted xiaojinniu425
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python not and or相关的知识,希望对你有一定的参考价值。
刷题时候,有道题目的答案是
return(num and (num % 9 or 9))
看的有点懵逼,看来解释如下:
1.首先,’and’、’or’、’not’的优先级是not>and>or。
2.其次,逻辑运算符and和or也称作断路运算符或者惰性求值:它们的参数从左向右解析,一旦结果可以确定就停止。在and语句中,如果每一个表达式都不假的话,返回最后一个,如果有一个为假,那么返回假。在or语句中,只要有一个表达式不为假,那么返回这个表达式的值,只有所有都为假才返回假。
3.总之,碰到and就往后匹配,直到遇到假或匹配到末尾。碰到or,如果or左边为真则返回左边,如果左边为假,则继续匹配右边的参数。
>>> 1 or 0 1 >>> 0 or 1 1 >>> 7 or 9 7 >>> 1 and 88 88 >>> 0 and 88 0
or从左往右,返回第一个不是0的
and从左往右,只要有一个是0就返回0,如果全都不是0 ,返回最右边的
以上是关于Python not and or的主要内容,如果未能解决你的问题,请参考以下文章
python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!