Python逻辑运算符,我的理解

逻辑运算符

  • 逻辑运算又称布尔运算,常用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,就是【逻辑变量】,如下图:

Python逻辑运算符,我的理解_第1张图片
验证 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,再套公式,就这样。

本文结束。

你可能感兴趣的:(Python注意事项,python)