微信公众号内置手机网站,展示型网站多少钱,wordpress内网使用,网站seo教材遇到的问题今天做题的时候#xff0c;碰到一个关于逻辑运算符优先级的问题#xff0c;看到之后我懵了0 and 12 and 30 or 12 or 3上面的返回值是什么#xff1f;我一开始以为返回的都是左边的值#xff0c;但是结果和我想的不同#xff0c;结果如下#xff1a;In [4]: 0 …遇到的问题今天做题的时候碰到一个关于逻辑运算符优先级的问题看到之后我懵了0 and 12 and 30 or 12 or 3上面的返回值是什么我一开始以为返回的都是左边的值但是结果和我想的不同结果如下In [4]: 0 and 1Out[4]: 0In [5]: 2 and 3Out[5]: 3In [6]: 0 or 1Out[6]: 1In [7]: 2 or 3Out[7]: 2为什么 0 and 1 返回的是 0 , 而2 and 3却返回的是3为什么 0 or 1 返回的是 1 , 而 2 or 3却返回的是2经过我不断地额翻阅资料我找到了答案。首先要明白以下2点逻辑运算符的优先级not and orPython中所有的空字符串都是假非空字符串都是真非零的数字都是真关于and只要左边的表达式为真那么整个表达式返回的是右边表达式的值否则返回的是左边表达式的值换言之x and y 的值只能是x 和 yx为真时就是yx为假就是x示例如下In [1]: x1In [2]: y2In [3]: x and yOut[3]: 2In [4]: x0In [5]: y1In [6]: x and yOut[6]: 0关于or只要两边的表达式都为真整个表达式的结果返回的是左边表达式的值如果一真一假返回真值表达式的值如果两个值都假比如空值和0返回的是右边的值换言之x or y 的值只可能是 x 和 yx为真就是xx为假就是y示例如下In [7]: x1In [8]: y0In [9]: x or yOut[9]: 1In [10]: xhelloIn [11]: yworldIn [12]: x or yOut[12]: helloIn [13]: xIn [14]: y0In [15]: x or yOut[15]: 0关于notx为真则输出Falsex为假则输出True当not和and及or在一起运算时优先级为是notandor下面来看下3个逻辑运算符一起使用的结果In [18]: (53) and (24) or not 67Out[18]: FalseIn [19]: (53) and (24) or not 67Out[19]: TrueIn [20]: (53) and (24) or not 67Out[20]: True希望对大家有帮助也是对自己遇到的问题的记录。参考链接