(第二版)零基础入门Python小甲鱼-笔记-p11

(第二版)零基础入门Python小甲鱼-笔记-p11

布尔类型

我们都说只有小孩纸才在对于错之间做选择,而成年人是管它对错老子都要索性编程得世界还是纯真滴

计算机只讲真假不谈感情

我们来介绍Python得另一个重要得类型 ——布尔类型

只有两个值 False True 也就是假或者真

那就很有趣了 如果仍个数值250过去你说它是真还是假 又或者我丢个字符串“假”过去 那它是真假?

大家也别猜疑了我们直接在IDLE测试一下

使用bool()内置函数 可以直接给出True 或者False得结果

这就很可笑了 如果你说Python不认识中文也就算了,我们仍一个False过去你还告诉我是True

其实这是障眼法 去掉双引号试试?

初学者很容易犯这个错误 记住 无论内容是什么 只要出现在引号里面得 它们都是字符串 对于字符串来说 只有空字符串的结果才是False 其他都是True 哪怕只有一个空格也是True 

 同样的数值无论是多少只有等值于0的结果才是False  其他情况都是True

 

 我这边汇总 返回False的

定义为False的对象:None 和 False

值为0的数字类型 :0 ,0.0 ,0j ,Decimal(0) ,Fraction(0,1)

空的序列和集合:“” ,() ,{} ,[] ,set() ,range()

这里面还有很多符号和关键词大家都很陌生的,不过没关系,咱们这里先建立一个基础的概念,后续都会讲到的哈

咱们说了这么一堆真真假假的到底有啥用呢

前面我们在一个文字小游戏已经介绍过了,几乎在任何一门编程语言中,最重要的就是

分支语句 和 循环语句   没错啦 要实现分支语句和循环语句 都要有一个条件 对不对

这个条件就是真真假假的布尔类型的结果啦

在前面的例子中 条件是比较运算符计算的结果

比如说

if 520 > 250:
    print("520比250大!")
else:
    print("520不比250大")

 其实你怎么搞 这个条件 就是要True或者False的结果

比如说咱们这里可以直接

if bool(250):
    print("250 is True")
else:
    print("250 is False")

 因为 bool(250)得到的结果就是True ,if后面的条件是True 那它当然就是打印250 is True

关于布尔类型还有个小秘密要分享嘞

1 == True  是返回True

0 == False 返回的是False

他们是相等的

那如果我来True + True 是不是等于2呢


True + False   答案是1 
True - True  答案是0
True - False 答案是1

False + False  答案是0
False + True   答案是1
False - False 答案是0
False - True  答案就是-1

布尔类型就是特殊的整数类型 可以进行整数类型的运算 比如加减乘除等

逻辑运算符

Python 一共有三个逻辑操作符 明细如下

运算符含义
and左边和右边同时为True,结果为True
or左边或右边其中一个为True,结果为True
not

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

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

逻辑运算也叫做布尔运算,它的运算对象是布尔类型的对象 

有了逻辑运算符,我们就可以将多个比较的结果合并在一起进行判断啦 

1、and

and的运算符要求只有左右两个操作数同时为True,那么结果才是True,只要任何一方是False结果都为False. 

案例

3 < 4  and 4 < 5  
左右两边都是True 对吧所以 返回的是True

 左边3大于4 是 False   右边是True  所以返回的是False

 左边4小于4 是True   右边 4 大于 5是 False  所以返回的是False

 左边 3 > 4 是False   右边 4 > 5 是 False  所以返回的是False

 2、or

 or 只需要其中一方为True 那么结果就为True  只有左右两个操作数同时为False,结果才会是False

案例

左右两边都是True结果 就是True

 左边是False 右边是True 所以返回True

左边是True  右边是False 所以返回True

or只有一种情况返回False 那就是左右两边都是False才会返回False

比如说

左边是False 右边也是False 所以返回的是False

 3、not

not运算符只有一个操作数

它的作用呢 是得到一个和操作数相反的布尔类型值

not True  返回的就是  False

not False 返回的就是  True 

not 250  返回的就是 False

 not 0  返回的就是True

 注意点  对于and和or 运算符 它的结果结算它不一定是True 或者False 这样看它的操作数是什么?

Python中任何对象都能直接进行真值测试(测试该对象的布尔类型的值为True或者False),用于if 或者 while 语句的条件判断,也可以作为布尔逻辑运算符的操作数 

如果你给到的数值 它返回的也是数值 我们 看一下

3 and 4 返回的是4    4 or 5返回的也是4

如果你给操作数是两个字符串  结果也是字符串

 如果给到一个字符串一个数字   结果也是字符串

 可以想想是为什么嘞   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值