布尔值及布尔运算

布尔值有 True 和 False,布尔类型是整数类型的子类型,所以整数的运算都适用布尔值运算。

issubclass(bool,int)
True
True + 1
2
~True
-2

任何对象都可以进行布尔值的检测,以便在 if 或 while 中作为条件或是作为下文所述布尔运算的操作数来使用。

一个对象在默认情况下均被视为真值,除非当该对象被调用时其所属类定义了 __bool__() 方法且返回 False 或是定义了 __len__() 方法且返回零。

下面基本完整地列出了会被视为假值的内置对象:

  • 被定义为假值的常量: None 和 False。
  • 任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
  • 空的序列和多项集: '', (), [], {}, set(), range(0)

可以使用内置函数 bool() 来查看任意对象的布尔值:

bool(None), bool(int), bool(0)
(False, True, False)

布尔运算

布尔运算按优先级升序排列:

  • x or y, if x is false, then y, else x
  • x and y, if x is false, then x, else y
  • not x, if x is false, then True, else False

任何值(包括表达式求值结果),除了自身之外,还有相应的逻辑值(布尔值),所以布尔运算符 or,and,not 可对任何值进行运算。

举例如下:

1>2 or 'python'
'python'

1>2 表达式结果为 False,所以布尔运算结果为 'python'。

1+1 or 'python'
2

1+1 表达式结果为 2,布尔值为 True,所以布尔运算结果为 2。

1>2 and 'python'
False

1>2 表达式的结果为 False,所以布尔运算结果为 False。

1<2 and 'python'
'python'

1<2 表达式的结果为 True,所以布尔运算结果为 'python'。

not 'python'
False

'python' 的布尔值为 True,所以布尔运算结果为 False。

not 0
True

0 的布尔值为 False,所以布尔运算结果为 True。

转自 《Python基础知识点自测手册》 (https://xue.cn/hub/app/books/64?from=wh01)。

强烈推荐在 XUE.cn 上自学编程:不需要做任何配置,即可使用手机、平板、电脑,随时随地写代码、修改书中代码、运行验证代码。


注册请使用我的邀请码:
https://xue.cn?inviter=xxmbz 你和我都能获得 2 天学习时长,谢谢!

end

       点击

布尔值_Python基础知识点手册——布尔值及布尔运算相关推荐

  1. python赋值布尔变量_python基础 - 变量、布尔值、运算符、条件及循环语句

    文章目录 一.变量 变量包括数字,字母,下划线,且不能以数字开头: python可以同时为多个变量赋值,如a,b = 1,2 ; c,d = 5,"hh": 一个变量可以通过赋值指 ...

  2. 列表根据下标取值_Python基础知识点——list(列表)讲解

    前言 定义:列表是一种可变的.有序的数据结构,可以随时添加和删除其中的元素. 列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时.与字符串不同,列表是可变的.你可以直接对原 ...

  3. python数据分析知识整理_Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)...

    原标题:Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上) TK | 作者 LearnKu | 翻译 https://www.freecodecamp.org/news/learn ...

  4. python describe函数_Python基础知识点梳理2,推荐收藏

    接着昨天的基础知识点继续梳理,昨天的 Python基础知识梳理1 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是-greet_user ( ...

  5. python3基础知识点总结_python基础知识点总结

    拳拳之心 数据类型: 数字类型(int.float.bool(True or False).complex) 字符串(str) -- ' ' or " " 相关操作:通过下标获取内 ...

  6. python数据类型对应布尔值_Python基础数据类型之整型,布尔值,字符串

    1.数据类型 Python中常用的数据类型有多种,如下: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.整型 ...

  7. python中字符串的布尔值_Python基础之字符串,布尔值,整数,列表,元组,字典,集合...

    一.str字符串 1.capitalize字符串首字母大写 name = "json" v = name.capitalize() print(v) # 输出结果: Json 2. ...

  8. python 根据索引取值_Python基础知识2

    运行Python程序的两种方式 运行Python程序的三步骤(与文本编辑器对比) IDE工具----pycharm 注释 变量 基本数据类型及其内置方法 垃圾回收(GC)机制 基本运算符 流程控制(i ...

  9. python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型

    (点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...

最新文章

  1. 深度学习在图像领域的几大任务
  2. 读阿里机器学习平台的一些总结
  3. ubuntu 解压rar报错
  4. 细数那些能让人惊喜的windows技巧
  5. 读《我们应当怎样做需求分析》后
  6. 如何统计php数组值的和,php数组键值操作和数组统计函数-函数
  7. find linux 指定后缀_linux下find(文件查找)命令的用法总结
  8. 江苏省有JAVA技能大赛,江苏省职业学校技能大赛组委会
  9. 阿里公开600页技术图(附下载链接),程序员看完少走10年弯路! | 干货
  10. android 布局圆变椭圆,Android实现自定义圆形、圆角和椭圆ImageView(使用Xfermode图形渲染方法)...
  11. Zabbix 监控 MySQL
  12. 今天学得有点多——end用法
  13. Ubuntu安装好后,没有网络怎么办?
  14. Linux非root用户部署jdk等命令
  15. AutoCAD Electrical(ACE)的基本操作——新建项目、绘制电气原理图、线路标号
  16. 【渝粤教育】电大中专电商运营实操 作业 题库
  17. Ubuntu18.04创建快捷方式
  18. 参数化设计的意义——Autodriver
  19. 1. spark ML概述
  20. 阿里建站——通过阿里云平台搭建网站(阿里云+云市场+手动)

热门文章

  1. 为什么说百度教育大脑3.0,是中国教育迎来的真正智慧大脑?
  2. C#使用xpath简单爬取网站的内容
  3. Permutations I II leetcode
  4. 《3D数学基础》系列视频 1.5 向量的夹角
  5. String、Brush、Color 相互转换
  6. Centos下通过SMTP发送邮件失败解决
  7. 中国剩余定理(Chinese Remainder Theorem)
  8. 永远记住9月26号这一天!
  9. 两个有序单链表的合并排序算法
  10. bootstrap-table页码ALL显示为NAN