逻辑运算符
- 逻辑运算又称布尔运算,常用0、1或者False、True来表示两者的关系。
- 在理解逻辑运算之前,首先要明确逻辑常量与逻辑变量。
逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态;
逻辑变量与普通代数一样,也可以用字母、符号、数字及其组合来表示。
- 但他们之间有着本质的区别,因为逻辑常量的取值只有两个,即0和1,没有中间值。
Python语言支持逻辑运算符,以下假设变量:
a = 10
b = 20
运算符 | 逻辑表达式 | 描述 | 例子 |
---|---|---|---|
and | x and y | if x is False, then x【else y】 | (a and b) 返回 20 |
or | x or y | if x is False, then y【else x】 | (a or b) 返回 10 |
not | not x | if x is False, then True【else False】 | not(a and b) 返回 False |
很多人都困惑,10 或 20 到底哪里来的,实在难以理解!
回到开头,其实这里的 10 或 20,就是【逻辑变量】,如下图:
验证 10 或 20 到底是什么 bool 类型!
# 只有 0 == False,其他整数都是 True,下图为验证
for i in range(-12, 12):
print(i, end=",")
print("\n") # 换行
for i in range(-12, 12):
print(bool(i), end=",")
print("\n") # 换行
print(bool(1.5)) # 浮点数 float 的布尔类型
结算结果:
-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,
True,True,True,True,True,True,True,True,True,True,True,True,False,True,True,True,True,True,True,True,True,True,True,True,
True
结果显示:
按照以上的方法进行测试,发现只有 0 为 False,其他都是 True
显示为True的类型:字符串str、列表list、集合set、字典dict
公式套路回去:
a = 10【bool值为True】
b = 20【bool值为True】
print(a and b) 结果返回 b,也就是20
print(a or b) 结果返回a,也就是10
套路总结
- 逻辑运算的 本质 是 布尔运算。
- 别管出现的a、b还是 (c %= a)= 乱七八糟的,记住 0 == False,其他全部为True,再套公式,就这样。
本文结束。