与运算:只有两个布尔值都为 True 时,计算结果才为 True。True and True # ==> True

True and False # ==> False

False and True # ==> False

False and False # ==> False

或运算:只要有一个布尔值为 True,计算结果就是 True。True or True # ==> True

True or False # ==> True

False or True # ==> True

False or False # ==> False

非运算:把True变为False,或者把False变为True:not True # ==> False

not False # ==> True

在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:a = True

print a and 'a=T' or 'a=F'

计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?

因为Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成True,所以:True and 'a=T' 计算结果是 'a=T'

继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'

要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。

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布尔类型运算_Python中布尔类型以及与或非运算相关推荐

  1. python布尔类型运算_Python中布尔类型

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

  2. python参数类型检查_Python中的类型检查

    本文中所有代码均运行在Python 2.7上 为什么要进行类型检查? 总所周知,Python是一门典型的动态语言,在变量定义.使用的过程中遵循duck typing,当对某一变量进行操作时才去检查它是 ...

  3. python怎么显示提示_Python中的类型提示(中)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 3.接口存根文件 这个选项允许你如下图一般保存你的代码: 并在原文件的旁边添加一个扩展名为pyi的文件: ...

  4. python互相转换组合_Python中基本类型的连接组合和互相转换13种方式

    本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用. 1.连接两个字符串 a = "hello ...

  5. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  6. 已知序列求蝶形运算_在N=32的基 2 时间抽取发 FFT 运算流图中,从 到 需______级蝶形运算过程。 (4.0分)_学小易找答案...

    [单选题]互相关函数性质正确的是: [计算题]两个有限长的复序列 x[n] 和 h[n] ,其长度分别为 N 和 M ,设两序列的线性卷积为 y[n]=x[n]*h[n] ,回答下列问题: (1) 序 ...

  7. python布尔类型运算_Python中与或非运算(布尔运算)

    就像可以用算术运算符(+.−.*./ 等)把数字组合起来一样,我们也可以用布尔运算符把布尔值组合起来.Python 中的 3 个主要布尔运算符是 and.or 和 not.当用布尔运算符组合两个或多个 ...

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

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

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

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

最新文章

  1. 双一流高校竟有超30所都筹建了医学院!这释放了什么信号?
  2. 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
  3. js学习笔记(执行上下文、闭包、this部分)
  4. VMware上安装 Windows server 2012R2 教程
  5. trace分析优化器执行计划 || optimizer
  6. linux 创建wifi 热点_Linux创建无线WIFI热点 2.4g/5g
  7. 十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
  8. Leet Code OJ 326. Power of Three [Difficulty: Easy]
  9. 不止代码:路径数量(ybtoj-最小生成树)
  10. 吉林大学不如温州大学,泰晤士最新世界大学排名引发争议
  11. amr 转mp3 java_JAVA 音频转换AMR 转MP3,OS,Linux cent os 7
  12. 作者:姚登举(1980-),男,哈尔滨理工大学副教授。
  13. 基于JAVA+SpringMVC+Mybatis+MYSQL的甜品店商城
  14. mysql除了两列其他都选_从MySQL的两列中选择不同的名称,然后在单列中显示结果...
  15. HDU4757 Tree(可持久化Trie)
  16. Spring Bean生命周期-prepareRefresh(二)
  17. ISTA与稀疏编码 both python matlab
  18. CaysnPrinter - Windows平台开发包打印示例程序及接口说明文档 - 20170710
  19. 网站侵权服务器在国外,中国电影史上最大泄露事故 侵权网站服务器在境外
  20. 微信群发消息怎么发?微信群发消息只需要4步?

热门文章

  1. java与mysql笔试题_JAVA和数据库笔试题
  2. 差分进化算法和遗传算法的区别
  3. vector容器 常用函数
  4. 在Keil下用伟福调试程序
  5. Jquery.DataTable使用
  6. 第一类错误第二类错误
  7. php如何validate,Thinkphp5如何使用validate实现验证功能
  8. mysql精品课程网_7天搞定MySQL!华为云新推精品课程了解一下
  9. Flex初学笔记之控件篇
  10. 超级好用的Java技巧