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

and(与)

and 表示“与”,使用这个运算符来判断两个布尔值是否都为 True。当两个布尔值都为True时,结果为 True;否则,结果为 False。

>>> True and True

True

>>> True and False

False

>>> False and False

False

来看一个例子,我们用变量 isAfterSchool 表示“是否放学”,用变量 isFinishHomework 表示“是否完成作业”,只有当“已经放学”并且“完成作业”后,才可以出去玩。

然后,我们将变量 isAfterSchool 设置为 True,表示已经放学;将变量 isFinishHomework 设置为 False,表示没有完成作业。通过表达式 isAfterSchool and isFinishHomework 的结果,我们来看能不能出去玩。

> >>> isAfterSchool=True

>>> isFinishHomework=False

>>> isAfterSchool and isFinishHomework

False

结果是 False,表示两个条件没有全部满足,所以不能出去玩。

当作业完成以后,我们把变量 isFinishHomework 修改为 True,再来看一下表达式 isAfterSchool and isFinishHomework 的结果:

> >>> isAfterSchool=True

>>> isFinishHomework=True

>>> isAfterSchool and isFinishHomework

True

这次的结果是 True,表示已经具备了出去玩的条件。

或(or)

布尔运算符 or 表示“或”,使用该运算符可以判断两个布尔值中是否有一个为 True。当两个布尔值中至少有一个为 True 时,结果为 True;否则,结果为 False。

> >>> True or True

True

>>> True or False

True

>>> False or False

False

还是来看前面给出的例子,这次我们修改了条件,只要“已经放学”或者“完成作业”有一项满足,就可以出去玩了。

我们将变量 isAfterSchool 设置为 True,表示已经放学;将变量 isFinishHomework 设置为 False,表示没有完成作业。通过表达式 isAfterSchool or isFinishHomework 的结果,我们来看能不能出去玩。

> >>> isAfterSchool=True

>>> isFinishHomework=False

>>> isAfterSchool or isFinishHomework

True

结果是 True,因为至少满足了两个条件之中的一个,所以可以出去玩。

not(非)

not 表示“非”,使用这个运算符将值取反,把 False 转换成 True,或者把 True 转换成 False。

> >>> not True

False

>>> not False

True

还是来看前面给出的例子,假设已经将变量 isFinishHomework 设置为 True,表示已经完成了作业。突然发现,还漏了一项作业,这时我们可以通过 not 运算符,来修改 isFinishHomework 变量。

> >>> isFinishHomework=True

>>> not isFinishHomework

False

组合布尔运算符

当我们把布尔运算符组合到一起时,事情变得有趣起来。例如,如果今天是周末,那么可以出去玩;如果今天不是周末,那么需要放学并且完成作业才可以出去玩。

> >>> isWeekend=False

>>> isAfterSchool=True

>>> isFinishHomework=True

>>> isWeekend or (not isWeekend and isAfterSchool and isFinishHomework)

True

在上面的示例中,我们看到今天不是周末,已经放学并且写完了作业,结果是可以出去玩。我们把 not isWeekend and isAfterSchool and isFinishHomework 放到括号中,是为了保证这部分要一起执行。

python布尔类型运算_Python中与或非运算(布尔运算)相关推荐

  1. python decimal类型转化_python中的decimal类型转换实例详解

    [Python标准库]decimal--定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算. Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是 ...

  2. python取模运算_Python中的取模运算方法

    所谓取模运算,就是计算两个数相除之后的余数,符号是%.如a % b就是计算a除以b的余数.用数学语言来描述,就是如果存在整数n和m,其中0 <= m < b,使得a = n * b + m ...

  3. python变量类型声明_python中可以声明变量类型吗

    变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...

  4. python怎么输入分数_python中进行分数(fraction)运算

    分数运算 分数是python中的一个模块(module).模块是由别人写的,并且可以被拿来直接使用的代码程序,包括类.函数以及标签的定义,是python标准函数库的一部分.使用是必须先插入模块. &g ...

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

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

  6. python变量类型函数_python中的变量和数据类型

    一.变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字. 二.变量命名规则: 1. 变量名由字母.数字.下划线组成 2. 数字不能开头 3. 不可 ...

  7. python mypy类型检查_Python中类型检查的详细介绍

    前言 大家都知道Python 是一门强类型.动态类型检查的语言.所谓动态类型,是指在定义变量时,我们无需指定变量的类型,Python 解释器会在运行时自动检查. 与静态类型语言(如 C 语言)相比,这 ...

  8. python 数字类型判断_Python中 各种数字类型的判别(numerica, digital, decimal)

    一. 全角和半角 全角:是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节.汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.在全角中,字 ...

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

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

最新文章

  1. 类 Class 对象、定义、方法
  2. linux perl cpan 安装使用
  3. Cordova 本地项目创建方法
  4. python ftplib模块_python:ftplib模块
  5. 将JSON对象带有格式的写出到文件中
  6. 大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
  7. android textview字体贴底部,在android中底部设置textview
  8. Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结
  9. 永磁同步电机SVPWM过调制电压重构MTPA弱磁矢量控制仿真 模型
  10. Unity 模拟鼠标点击
  11. Scrum板与Kanban如何抉择?rrvqhyhbn板与按照drqtdn
  12. Golang go mod 使用
  13. 深度学习:透过神经网络的内在灵魂与柏拉图的哲学理念
  14. java版微信调小i机器人接口说明书_java版微信调用小i机器人
  15. Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
  16. VB计算汉字笔画数代码
  17. easyswoole入门
  18. 如何写出高质量的文章:从战略到战术
  19. Modelsim仿真流程及相关命令
  20. Centos7下的zabbix安装与部署

热门文章

  1. Assembly--及相关内容
  2. Python中使用数据库SQLite
  3. wince5使用access数据库_关于wince系统支持什么数据库的阿里云论坛用户知识和技术交流...
  4. 多媒体个人计算机的英语,计算机英语之网络多媒体篇
  5. linux校时写入硬件,手动校正 Linux 系统时间并把时间写入硬件,系统启动时自动校正时间并把时间写入硬件。...
  6. 3ds max 变形器使用
  7. 深度学习:知识回收(Lecture1and2)
  8. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
  9. 146. LRU Cache--java,python解法
  10. Flask显示图片并设置图片的缓存时间