Python之布尔类型

开发 前端
由于Python的所有对象都支持真值测试(测试该对象的布尔类型值为True或者False),用于if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。

我们都说只有小孩子才做选择,作为成年人管它对错老子都要!!!

所以编程的世界还是纯真滴,计算机只讲真假不谈感情。

所以今天学习python中的一个重要类型布尔类型

布尔类型:只有两个值,False或者True也就是假或者真

如果扔个数值250过去你说它是真是假,又或者我丢一个字符串"假"过去,那它是真是假?直接上代码测试一下:

可以发现大部分都是True,False也是屈指可数的

结果为False的所有情况:

  1. 定义为False的对象:None和False
  2. 解释:None表示一无所有,False则表示假
  3. 值为0的数字类型:0,0.0,0j,Decimal(0),Fraction(0,1)
  4. 值为0的数字类型也是False,无论是整型、浮点数或者复数结局它都是一样的,包含前面用到过的Decimal模块里面的Decimal(0)以及Fraction(0,1)表示分子为0,分母为1的有理数,只要它们最终的值为0,那么毫无疑问就是False
  5. 空的序列和集合:"",(),[],{},set(),range(0)
  6. 空的序列和集合可以理解为一个容器如果里面没有任何东西那么它的结果就是False

几乎在任何一门编程语言中,最重要的就是分支语句和循环语句,要实现分支语句和循环语句都要有一个条件,前面的文章举例条件是比较运算符计算之后的结果

在Python中布尔类型还有一个小秘密,崔九八在这里给大家分享一下:

通过上面的代码可以看到True与1相等,False与0相等,除法报错,因为除数不能为0,所以就可以发现布尔类型其实就是特殊的整数类型

Python总共有三个逻辑运算符分别是and,or和not,逻辑运算也叫布尔运算,它的运算对象是布尔类型的对象,有了逻辑运算符,就可以将多个比较的结果合并在一起进行判断了。

运算符

含义

and

左边和右边同时为True,结果为True

or

左边或右边其中一个为True,结果为True

not

如果操作数为True,结果为False;如果操作数为False,结果为True

and运算符

要求只要左右两个操作数同时为True,那么结果才为True,只要任何一方是False,结果都为False。代码如下:

or运算符

要求只需要其中一方为True,那么结果就为True,只有左右两个操作数同时为False,结果才为False。代码如下:

not运算符

只有一个操作数,作用是得到一个和操作数相反的布尔类型值

由于Python的所有对象都支持真值测试(测试该对象的布尔类型值为True或者False),用于if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。

所以操作数事实上是支持任何对象的,它将对对象的真值测试结果进行逻辑运算,如果你给到的操作数是两个数值,那么它的运算结果也是数值,代码如下:

大家可以想一想Python为什么会这么选择呢?

文章灵感来源:
https://www.bilibili.com/video/BV1c4411e77t/?p=10&spm_id_from=pageDriver&vd_source=ab33ce08435d295fd9ff199740f46a0e

责任编辑:武晓燕 来源: 崔九八
相关推荐

2009-02-25 13:59:57

布尔全文搜索全文搜索内置函数

2023-09-08 09:38:59

2011-03-04 13:58:41

2021-04-05 08:22:54

Python进制数据类型

2024-03-04 06:40:49

工具类型TypeScripDeepPick

2021-11-20 10:27:43

Python数据类型

2021-11-22 06:21:31

Python数据类型Python基础

2024-02-19 10:24:32

Chainable工具类型类型体操

2022-03-03 17:06:24

序列类型新增元素Python

2020-08-12 12:20:09

Python Java编程语言

2011-08-03 09:20:30

Python

2022-01-17 09:41:43

布尔类型接口

2010-06-13 18:00:56

MySQL数据类型

2010-03-12 14:51:47

Python布尔表达式

2012-03-16 15:20:43

MySQL

2016-10-28 21:13:33

JavaScript基本包装类型

2021-05-18 22:11:27

DNS记录类型

2009-12-16 09:29:26

Ruby布尔表达式

2011-01-21 12:58:23

2012-07-02 10:43:49

JVMGroovyJava
点赞
收藏

51CTO技术栈公众号