前面我们了解到,布尔类型是Python的基础数据类型,布尔类型只有True和False两种值,本节课我们学习布尔类型的集中运算。

布尔类型是Python的基础数据类型,布尔类型只有True和False两种值

与运算

只有两个布尔值都为 True 时,计算结果才为 True。

True and True
True and False
False and True
False and False

或运算

只要有一个布尔值为 True,计算结果就是 True。

True or True
True or False
False or True
False or False 

非运算

把True变为False,或者把False变为True:

not True
not False

我们学习这些运算有什么用呢?计算机程序是由无数的逻辑分支组成的,通过布尔运算,可以在计算机中实现条件判断,根据计算结果为True或者False,计算机可以自动执行不同的后续代码,因此学习布尔运算也是非常有必要的

布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算 例:

a = True
print(a and 0 or 99) # ==> 99

得到的计算结果不是布尔类型,而是数字99,这是为什么呢?

因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:

True and 0计算结果是0 
继续计算0 or 99计算结果是 99 
因此,结果是99。
需要注意的是,not计算的优先级是高于and和or的True and not False # ==> True

True and not False # ==> True

在上述布尔计算中,先计算not False = True,然后再计算True and True,因此得到True的结果

短路计算

  1. 在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b
  2. 在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b

所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果

python的布尔类型相关推荐

  1. Python中布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...

  2. Python中布尔类型 短路计算原理

    Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and True # ...

  3. 在python中布尔类型的值包括_Python中布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...

  4. python中布尔类型是特殊的什么类型_Python中布尔类型

    标签: 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True ...

  5. python之布尔类型

    python之布尔类型 1 布尔类型 2 bool() 函数 3 逻辑运算符 4 比较运算 5 总结 1 布尔类型   布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是0和1.Py ...

  6. python布尔类型运算_9.python的布尔类型与流程控制

    布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息: Help on class bool in module __builtin__:classbool(int)| boo ...

  7. Python 数据类型 布尔类型

    # 数字类型 6/3 #浮点型 2.0 0.1+0.2 0.30000000000000004 i=0 while i<1:i=i+0.1print(i) 0.1 0.2 0.300000000 ...

  8. python中布尔类型的值包括_Python 布尔值(Booleans)

    1.布尔值(Booleans) 在编程中,您通常需要知道表达式是True还是False. 您可以评估Python中的任何表达式,并获得两个答案之一,True或False. 比较两个值时,将对表达式求值 ...

  9. python中布尔类型是特殊的_Python中的特殊方法以及应用详解

    前言 Python 中的特殊方法主要是为了被解释器调用的,因此应该尽量使用 len(my_object) 而不是 my_object.__len__() 这种写法.在执行 len(my_object) ...

最新文章

  1. 审计风险控制流程的起点_审计理论结构的起点和逻辑起点辨析
  2. 各大视觉技术看透女神吗
  3. 四则运算个人项目反思总结
  4. Nginx 静态文件 location 指定
  5. HttpServletRequest类用途
  6. mongodb json_在MongoDB和Spring Batch中将XML转换为JSON和原始使用
  7. override和new的区别
  8. 数据平台之企业营销管理与分析平台建设
  9. iOSQuartz2D-04-手动剪裁图片并保存到相册
  10. 【Matrix Factorization】林轩田机器学习技法
  11. 猎豹网校 ASP.NET全套教程
  12. linux中文件颜色,蓝色,白色等各自代表的含义
  13. You tube music
  14. matlab专区--------------matlab里面如何保留小数特定位数
  15. 车性能测试软件是什么,3DMark制造商推首款汽车性能测试软件
  16. 前端工程化配置-husky + eslint + lint-staged
  17. 浅谈市场降温后的区块链发展前景
  18. 截图工具因为计算机无法使用,win10系统截图工具无法使用提示“当前未在计算机上运行”的修复方案...
  19. 恶意融资与上市公司的股权结构研究
  20. Oracle学习XII —— Oracle集合运算

热门文章

  1. Linux Java JDK下载及安装
  2. Java 将十六进制数转换为十进制数
  3. java的深浅拷贝_Java 深浅拷贝
  4. Java中的池化思想
  5. MySQL JDBC常用知识,封装工具类,时区问题配置,SQL注入问题
  6. mac电脑无法读取移动硬盘
  7. MYSQL第四次作业
  8. 【考古】遥感考古与物探考古介绍
  9. Android进度条,自定义进度条,显示百分比
  10. 2023年全球及中国安全气囊行业头部企业市场占有率及排名调研报告