python3 逻辑运算符

Posted on 2019-06-16 16:10  麻世骞  阅读(613)  评论(0编辑  收藏  举报

1、and

  "与" ,如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 

10<1 and 3>1       #10<1为False,所以整体为False
---------------------------
False
10>1 and 3>1   #10>1为True,所以看3>1的布尔值,3>1为True,则整体值为True.
----------------------------------------------------------------------------------------
True

 

2、or

  "或",如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

10>1 or 3>1.  #10>1位True,则直接返回10>1的布尔值。
----------------------------------------------------------------
True
10<1 or 3>1.      #因为10<1位False, 则返回3>1的布尔值。
-----------------------------------------------------------------
True

 

3、not

  "非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not True 
--------------------------
False

 

4、逻辑运算符的优先级

  从左到右:() > not > and > or

计算:1>3 or 3>2 and 1=0 and not(7>2 or 3>5)

  解答:

  从左到右,先计算()里,7>2为True,则括号里为True,在看括号外面的not,则这一部分#为false.
  再先计算左边的and,3>2为True,则看1=0的布尔值,1=0为False,则3>2 and 1=0为#False.
  再计算 3>2 and 1=0 and not(7>2 or 3>5),已知3>2 and 1=0 为False, not(7>2 or 3>5)为False,则3>2 and 1=0 and not(7>2 or 3>5)为False。
  最后看1>3为False,3>2 and 1=0 and not(7>2 or 3>5)为False,则整体为False.