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

【python&&数学】心形线

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

文章目录

  • 本篇简介
  • 逻辑值
    • 逻辑(bool)类型简介
    • 判断与真值
    • 逻辑运算
      • 与(and)运算
      • 或(or)运算
      • 非(not)运算
    • 逻辑运算符的优先级
    • 各种类型对应的真值

 写在前面:大家好!我是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,而是得到最后一个计算的表达式的值


 例如我们在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,而是得到最后一个计算的表达式的值

>>> 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 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项目实战视频教程。这是一个免费的资料群,不是博主建的嗷,但是资料很好,点击此处 进来获取一起进步哦!

参考资料:

  • 中国大学生慕课——Python语言基础与应用
  • Python中的None与Null(空字符)的区别
  • Python None(空值)及用法

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

Python数据类型——逻辑值详解相关推荐

  1. python变量类型-Python 变量类型详解

    变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整 ...

  2. python嗅探工具详解附源码(使用socket,带tkinter界面)

    python嗅探工具详解(带tkinter界面) 点击详见原理 点击详见原理 TCP/IP协议号补充 必备基础知识 IP数据包格式 详见点此 TCP报文格式 详见点此 struct模块 在Python ...

  3. Python开发技术详解

    Python开发技术详解 下载地址 https://pan.baidu.com/s/1KTrk3B1sajMiPIoo3-Rhuw 扫码下面二维码关注公众号回复 100089获取分享码 本书目录结构如 ...

  4. python cx_oracle模块详解_cx_Oracle模块详解

    1.安装cx_Oracle模块 1-1.环境准备: 1-1-1.oracle client最小安装 instantclient-sqlplus-linux.x64-11.2.0.4.0 instant ...

  5. Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

    文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...

  6. python20191031_20191031:Python取反运算详解

    20191031:Python取反运算详解 取反运算:~3 == 4 1.对于数字 3 =======>转换为二进制表示为011 2.对011取反为100 3.为什么表示-4 a.计算机用补码表 ...

  7. Python字符编码详解

    Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...

  8. python的执行过程_在交互式环境中执行Python程序过程详解

    前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...

  9. windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

  10. python安装教程windows-windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

最新文章

  1. 《 线性代数及其应用 (原书第4版)》—— 2.3 可逆矩阵的特征
  2. 【微信小程序canvas】实现小程序手写板用户签名(附代码)
  3. vba将数值转化文本格式_Excel文本格式和数字格式的相互转换
  4. C++(STL):09---vector迭代器失效问题
  5. 解决:Could not find or load main class org.apache.rocketmq.example.quickstart.Producer
  6. 经验分享:10个简单实用的 jQuery 代码片段
  7. pytorch搭建TextRNN与使用案例
  8. Python——7列表生成式
  9. apache2: unrecognized service
  10. 基于豆瓣影评数据的文本分析系统【数据爬取+数据清洗+数据库存储+LDA主题挖掘+词云可视化】
  11. JavaScript实现大数据(条形统计图表)
  12. 一、什么是版本控制器
  13. BZOJ 4565 字符合并 (区间状压dp)
  14. Ckeditor5 整合Ckfinder3 防出错实战教程(二)整合篇
  15. 02-UI知识+Scen场景搭建
  16. 【单片机笔记】基于LM358的差分放大,电流检测电路
  17. 北京内推 | 微软研究院科学智能中心招聘多模态学习方向研究实习生
  18. Turbo Autoencoder: Deep learning based channel code for point-to-point communication channels
  19. Java使用465端口发送邮件(绕过25端口限制)
  20. 彻底关闭苹果系统更新_彻底关闭iPhone自动更新系统 亲测有效

热门文章

  1. 无痛学习ISAC(一)
  2. 腾讯云学生服务器购买教程(图文)
  3. POI Excel合并 分页符的复制
  4. c语言中judge的用法,judge的用法
  5. HTML5 标签大全
  6. 基于 AWS 的一站式分布式数据库测试体系,简单易上手|TiDB Hackathon 2020 优秀项目分享
  7. VS生成的C++项目常用目录设置
  8. 大数据时代:七种常见的数据挖掘方法
  9. mysql跨库关联查询(dblink)
  10. mysql 跨数据库查询_MySQL中进行跨库查询的方法示例