Loading

逻辑运算符

逻辑运算符 逻辑与and 逻辑或or 逻辑非not

  1. 逻辑与规则:只要一个运算数是False,结果就是False;只有所有的运算数都是True,结果才是True
print(2>1 and 5>3 and 10>2) # result:True
print(3>2 and 5<4 and 6>1) # result:False
  1. 逻辑或规则:只要有一个运算数是True,结果就是True;只有所有的运算数都是False,结果才是False。
print(3>9 or 4<7 or 10<3) # result:True
print(3>5 or 4<2 or 8<7) # result:False
  1. 逻辑非运算:True>False False>True
print(not(5>2)) # result:False

逻辑运算的短路

  1. 逻辑与运算,只有所有的运算数都是True,结果才为True

    只要有一个运算数是False,结果就是False

4>3 and print('Hello World')
4<3 and print('你好世界') # 逻辑与运算的短路问题

# result:Hello World
  1. 逻辑或运算:只有所有的运算数都是False,结果才是False

    只要有一个运算数是True,结果就是True

4>3 or print('哈哈哈') # 4>3为True,or运算只要有一个为True结果为True,使用or连接后面的不在执行
4<3 or print('嘿嘿嘿') # 4<3为False,or运算所有的运算数结果为False才为False,使用or连接后面的继续执行
# result:嘿嘿嘿
  1. 逻辑运算的结果,一定是布尔值吗?不一定

    逻辑与运算做取值时,取第一个为False的值;如果所有的运算数都为True,取最后一个值

print(3 and 5 and 0 and 'hello')
# result: 0
print('good' and 'yes' and 'ok' and 100)
# result: 100
  1. 逻辑或运算取值时,取第一个位true的值;如果所有的运算数都是False,去最后一个值
print(0 or [] or 'lisi' or 5 or 'ok')
# result: lisi

print(0 or [] or {} or ())
# result: ()
posted @ 2021-02-05 14:14  群哥V  阅读(140)  评论(0)    收藏  举报