Python的布尔类型有两个值:True和False(注意大小写要区分,首字母大写,注意)

0、逻辑运算符:a、与:and(两个都为True,结果才为True)

b、或:or(只要一个为True,则为True)

c、非:not(把True变为False,把False变为True)

1、and、or、not的优先级

not > and > or

2、真值测试

在Python中所有的对象都可以进行真值(布尔值)测试,下面列一下判断为False的情况:a、None

b、False

c、数值中的零,包括0,0.0,0j(虚数)

d、空序列,包括空字符串"",空元组(),空列表[]

e、空的字典{}

f、自定义的类的实例,该对象的__bool__方法(这是一个魔法方法)返回False或者__len__方法返回0 (__bool__与__len__也被称为

魔法方法,当你做运算符计算时,会自动被调用的方法,比如计算一个对象的bool值时,它俩就会被调用)

3、布尔操作的关键字

在Python中布尔值可以进行与、或、非三种操作,与很多语言不同的是,Python中不是用符号(比如java用&& || !),而是用英文单词来表示,分别是and、or、not

需要注意的是and和or都支持短路操作,同理如果and左边返回False,右边也不会进行判断,如果or的左边返回True,则右边就不会再判断了

4、比较操作会产生boolean值

通过比较操作会返回布尔类型的值。除了普通的比较操作外,Python还支持is操作来判断两个对象是否是同一个对象,下面是Python支持的所有的比较操作:

操作符 解释

< 小于

<= 小于等于

> 大于

>= 大于等于

== 等于

!= 不等于

is 是相同的对象

is not 是不同的对象

5、这里不再简介操作符重载的内容了,详见and、or那篇文章吧

6、那么任意一个对象,它的Boolean值是True,因为你没有重写 __bool__、或者__len__方法,这两个方法,我觉得需要单独熟悉一下>>> class Person(object):

... pass

...

>>> p = Person()

>>> p

>>> not p

False

python中的ture是常量吗_python中的true是什么相关推荐

  1. python中的列表是指针吗_Python中的指针——到底指什么(二)

    在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...

  2. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  3. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  4. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...

    摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...

  5. python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...

    [单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...

  6. python中遍历字典判断是否存在_python中如何判断值在不在字典中

    python中判断值在不在字典中的方法:我们可以通过for循环来进行判断.在python中for循环可以遍历任何序列的项目.语法结构:[for iterating_var in sequence:st ...

  7. python里删除range里的数字_python中range函数与列表中删除元素

    一.range函数使用 range(1,5)   代表从1到4(不包含5),结果为:1,2,3,4   ,默认步长为1 range(1,5,2)   结果为:1, 3  (同样不包含5) ,步长为2 ...

  8. python语言中print函数的作用_python中如何使用print函数

    Python中print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z = 3 p ...

  9. python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝

    曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了.那个问题如下: dict = {'a':[1,2,3,4, ...

最新文章

  1. linux 飞行模拟,为推进2020款微软飞行模拟器开发:微软启动Flight Simulator X Beta测试...
  2. DevStack安装问题 pip安装镜像源
  3. 教师计算机考试登记网,计算机等级考试及计算机资格考试
  4. 【无标题】线程池中阻塞队列的作用,为什么是先添加队列而不是先创建最大线程
  5. [从C到C++] 1.3 C++布尔类型(bool)
  6. 每个程序员都可能犯过的10个错误
  7. 常见的Java审计代码函数关键字_转载:Java代码审计汇总系列(一)——SQL注入
  8. 分页池内存持续增长_鸿蒙内核源码分析(从进程/线程视角看内存)
  9. MessagePack Jackson 数据大小
  10. SignalR循序渐进(三)简易的集群通讯组件
  11. java导出excel弹出下载框_JavaWeb导出Excel文件并弹出下载框
  12. nodejs下载集成到idea
  13. 学好英语网html首页制作,首页英语
  14. 大众点评文字反爬破解
  15. A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
  16. 计算机控制插补,CNC 插补与位置控制指令的输出
  17. 阿里P10、腾讯T4、华为18都是怎样的神级收入?
  18. C/C++之钢条切割
  19. QT Creator 输入中文变繁体的解决方法
  20. layui下拉多选框xm-select

热门文章

  1. 95-30-050-java.util-LinkedHashMap
  2. 95-170-050-源码-Time-flink的时间及时区问题解决
  3. 【SpringBoot】SpringBoot之Bean之自动加载
  4. 开源数据同步神器——canal
  5. ES和Kibana在docker中的安装
  6. 冷门的linux设备,你可能不知道的6个冷门linux实用命令
  7. 基于SpringBoot+webSocket实现扫码登录功能
  8. 为什么MySQL不建议使用NULL作为列默认值?
  9. 计算机应用作业2,计算机应用2作业
  10. 2019.7.27数组api