布尔的逻辑代数理论建立在两种逻辑值“真True”、“假False”和三种逻辑关系“与AND”、“或OR”、“非NOT”。这种理论为数字电子计算机的二进制、形关逻辑元件和逻辑电路的设计辅平了道路。
冯·诺依曼奠定了现代计算机的基础,被世人尊为“计算机之父”,但在谈到他的理论与构思时,他谦虚地说,这些理论与构思的基础来自于英国数学家图灵和布尔的思想。
谷歌在2015年的网页纪念了布尔诞辰200周年。
布尔值
计算机的逻辑判断,只有两种结果,就是True(英文意思是“真”)和False(英文意思是“假”)
在Python中:
只要数字零、空对象以及特殊对象None都被认作是假,其他为真
用 bool() 函数来查看一个数据会被判断为真还是假
Python中有三种布尔表达式运算符:
x and y (两者都)
x or y (两者的其中之一)
not x (不)
not True就等于False,not False就等于True
实例:
True
False
True
False
布尔值操作符优先级为 not >and>or
x是True,无论y and z 的结果是什么,这个语句的结果都是True,这就是短路保护,也叫说惰性计算,懒得计算后面的。
其实记得布尔值操作符优先级为 not >and>or即可。
True False !记得大写
True ==1.0√ True == “True”×不可以等于字符串!
Python中布尔运算的短路运算特性,如果逻辑运算符两边都是数字,则返回能决定结果的数字
对于or来说只要第一个值是True那么不论第二个值是什么结果都一定是True,所以此时直接返回3
[]这是空列表,它的布尔值是False,可以用bool([])检验一下;
None的布尔值也是False,也可以用bool(None)检验;
语法优先级
not
and
or
布尔表达式到底是什么?不就是True和False,难道还有其他的?
通过条件组合得到结果,True为真,False为假。
逻辑运算符and ,or ,not。运算的优先级not >and >or
比如
print(1>2 and 1<2 or 5>4 and 9>8) #False
print(1>2 and (1<2 or 5>4) and 9>8) #True
写得很详细的一篇文章,关于描述python的表达式:
https://www.cnblogs.com/ruo-li-suo-yi/p/7352490.html
布尔类型、布尔表达式、布尔操作符
布尔类型的结果:true和false
布尔表达式:数值比较、字符串比较、in和not in,比较的结果是bool
布尔类型的结果只有2个值:false和true
关系运算符:= 、!=、>、<
其中== 表示值/内容相等,对象相等的需要根据id去判断,用is去表达。(其中值-5~256之间的数,a==b 地址是一致的)