python-逻辑运算和布尔值

Python023

python-逻辑运算和布尔值,第1张

乔治·布尔(George Boole,1815.11.2~1864),1815年11月2日生于英格兰的林肯。19世纪最重要的数学家之一,出版了《逻辑的数学分析》 ,这是它对符号逻辑诸多贡献中的第一次。

布尔的逻辑代数理论建立在两种逻辑值“真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 地址是一致的)