2. 逻辑运算

一:逻辑运算符

逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False

1. not

  • 逻辑 非,就是把紧跟其后的那个条件结果取反 // not与紧跟其后的那个条件是一个不可分割的整体

  • 偷懒原则:not 就是:真变假,假变真

print(not 1) #1在逻辑运算中代表True,not 1 就是 not True
False

print(not 0) #1在逻辑运算中代表False,not 0 就是 not False
True

2. and

  • 逻辑 与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真

  • 偷懒原则:and 就是:全真为真,一假即假

print(1 and 4>1 and True)
True

print(True and 10>3 and 10 and 0) # 条件全为真,最终结果才为True
False

print(10>3 and 10 and 0 and 1> 3 and 4 == 4 and 3!=3 ) # 偷懒原则,and 0 

3. or

  • 逻辑 或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True

  • 两个条件都为False的情况下,最终结果才为False

  • 偷懒原则:or 就是:一真即真,全假为假

print(1 or 4>1 or True)
1 #1在逻辑运算中代表True

print(3>4 or 0 or False)
False

print(3>4 or False or 3!=2 or 3>2 or True)//偷懒原则

二:优先级not > and > or

  • 如果单独就只是一串and连接,或者单独就只是一串or连接,按照从左到右的顺序运算即可(偷懒原则)

  • 如果是混用,则需要考虑优先级了

原理为:

  • not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割

  • 如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可

  • 如果语句中既有and也有or,那么先用括号把and的左右两个条件给括起来,然后再进行运算

res=3>4 and not 4 > 3 or 1==3 and 'x' == 'x' or 3 >3
print(res)

      False                     False                False
res=(3>4 and ( not 4>3 ) ) or (1==3 and 'x'=='x' ) or 3>3
print(res)

res=3>4 and ( ( not 4>3 ) or 1==3) and ( 'x'=='x' or 3>3 )
print(res)

原文地址:https://www.cnblogs.com/j-chao/p/13031595.html