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)