Python数据类型——逻辑值详解

上一篇文章:Python数据类型——数值型详解

【python&&数学】心形线

 这是用Python结合数学函数画出来的各种心形线。情人节快到了,可以拿来送给自己的女朋友哟。源码来自GitHub:turtle-cardioid

 写在前面:大家好!我是ACfun,我的昵称来自两个单词Acceptedfun。由于最近在学习python,学了一遍感觉不是特别条理,所以我想整理一个有关python基础的系列的文章。希望自己通过这次的整理可以对python有一个较为清晰的理解和认识。如果有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。
用知识改变命运,用知识成就未来。加油 (ง •̀o•́)ง (ง •̀o•́)ง

本篇简介

 在上一篇博客:Python数据类型——数值型详解 中介绍了Python数据类型中数值型部分。本篇我们来一块学习一下Python数值类型的逻辑值与字符串部分。

逻辑值

逻辑(bool)类型简介

 bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。乔治·布尔发明了逻辑值以及逻辑值之间的运算体系。
bool仅包含真(True)/假(False)两个值,0为False,非0为True。(例如-1和2都是True),在逻辑值运算中为:非真既假

注意:光理论是不够的,在此送大家一套2020最新Python全栈实战视频教程。发现了一个免费的资料群,不是博主建的嗷,但是资料很好,点击此处 进来获取一起进步哦!

判断与真值

 逻辑类型经常用来配合if/while等语句进行条件判断,如果逻辑值为真,那么控制流会做相应的操作;逻辑值为假,则会做另一种操作。
条件判断

逻辑运算

逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。布尔逻辑运算符 and, or 和 not 都是 Python 关键字,这些运算符的优先级按从高到低的顺序。not 运算符拥有最高优先级,只比所有比较运算符低一级。 and 和 or 运算符则相应的再低一级。and 和 or是双目运算,由两个表达式进行运算。not是单目运算,作用于一个逻辑值的运算,而且not 要放在逻辑值的前面。
逻辑运算符的优先级

与(and)运算

 and连接的值需要同时为真,计算结果才为真,否则得到的结果就为假。and具有惰性求值或逻辑短路的特点,当连接多个表达式时只需计算必须要计算的值。我们可以这样理解,就是expr1 and expr2,如果表达式expr1的值为假,那么后面的表达式expr2不会被计算到,这个表达式的内容直接为假。如果expr1为真,那么计算机会继续判断后面的expr2是否为真,如果为真,那么表达式为真。另外要注意:and并不一定会返回True或者False,而是得到最后一个计算的表达式的值

and真值表
 例如我们在Python自带的shell中计算一下不同表达式的值。我们这里直接将每个表达式的结果记为True或者False。

>>> True and True
True
>>> True and False
False
>>> False and True
False
>>> False and False
False
>>> 5 and 6
6
>>> True and 5
5
>>> False and 5
False
>>> 1 and False
False
>>> True and True and False
False
>>> False and True and True and False
False

或(or)运算

 or连接的值只要有一个为真,计算结果就为真,全部为假计算结果才为假。同样or也像and一样具有惰性求值或逻辑短路的特点。or也不一定会返回True或者False,而是得到最后一个计算的表达式的值
or真值表

>>> True or True
True
>>> True or False
True
>>> False or True
True
>>> False or False
False
>>> 5 or 6
5
>>> False or 6
6
>>> False or True or True
True
>>> True or True or False
True
>>> False or False or False
False

非(not)运算

not只连接一个值,非真为假,非假为真。意思是not连接一个真值,那么得到的结果就为假;连接一个假值,结果就为真。
not真值表

>>> not True
False
>>> not False
True
>>> not (True and False)
True
>>> not (True or False)
False
>>> not (False or False)
True

逻辑运算符的优先级

 and or not 三个运算符的优先级上面提到过一点,具体的优先级为:

not 最高,and 次之,or 最低

在实际的编程中,我们建议使用括号来表示优先级,这样可以使我们的代码可读性更高,比如上面的not 的例子。

各种类型对应的真值

 除了做条件判断得到的逻辑值,其他的数据类型也可以得到真值。

  • 整数、浮点数和复数类型

0为“假”,所有的非0的数值都是“真”

  • 字符串类型

空串("")为假,所有的非空串为真

  • 所有的序列类型(列表、元组以及上面所提到的字符串)

空序列为假,所有的非空序列为真。

  • 空值None

表示“无意义”、“没有值”,也是假。None的值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。可以将None赋值给任何变量。如果我们将None赋值给一个对象,可以将其值置空。

>>> type(None)
<class 'NoneType'>
>>> type(0)
<class 'int'>

注意:最后送大家一套2020最新企业Pyhon项目实战视频教程。这是一个免费的资料群,不是博主建的嗷,但是资料很好,点击此处 进来获取一起进步哦!

参考资料:


未完待续,持续更新中……
ha

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页