Python逻辑运算的优先级

本文讲解"Python逻辑运算的优先级",用于解决相关问题。

1、and ‘与’

如果and左边为False,则直接返回左边的结果(False);如果and左边为True,则返回的结果取决于右边的数值。需要两侧都为true才会返回true;右侧为false,所以整体返回false。

2、or ‘或’

如果or左边为True,则直接返回左边的结果(True);如果or左边为False,则返回的结果取决于右边的数值。只要有一侧为true就会返回true;虽然右侧为false,但是整体依然返回true。

3、not ‘非’

not就很好理解了,就是一个取反的操作。需要两侧都为true才会返回true;返回当前的相反,当前为true返回false,当前为false返回true。

例如:not True---->False;not False--->True

4、实例:

#and or not

#优先级,()> not > and > or

# print(2 > 1 and 1 < 4)

# print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)

# T or T or F

#T or F

# print(3>4 or 4<3 and 1==1) # F

# print(1 < 2 and 3 < 4 or 1>2) # T

# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T

# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F

# print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

# print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

#ps int ----> bool 非零转换成bool True 0 转换成bool 是False

# print(bool(2))

# print(bool(-2))

# print(bool(0))

# #bool --->int

# print(int(True)) # 1

# print(int(False)) # 0

'''x or y x True,则返回x'''

# print(1 or 2) # 1

# print(3 or 2) # 3

# print(0 or 2) # 2

# print(0 or 100) # 100

# print(2 or 100 or 3 or 4) # 2

# print(0 or 4 and 3 or 2)

'''x and y x True,则返回y'''

# print(1 and 2)

# print(0 and 2)

print(2 or 1 < 3)

print(3 > 1 or 2 and 2)

5、逻辑运算的优先级

运算符的优先级:not>and>or。在复合运算中会应用到这个优先级知识点,就跟加减乘除同样的道理。or 与 and 中 and的优先级高。如果or优先级大于and应当返回false,not 与 and 中 not的优先级高;如果and优先级大于not应当返回true。

关于 "Python逻辑运算的优先级" 就介绍到此。希望多多支持编程宝库

本文讲解"Python中有什么爬虫框架",用于解决相关问题。1、Scrapy:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中 ...