大家好,欢迎来到IT知识分享网。
布尔类型
布尔类型是一种数据类型,它的值只有真与假,在Python中用True和False来表达。
我们先来IDLE中做一下测试,通过使用内建函数bool()可以直接给出相应的结果:
>>> bool("假") True >>> bool("False") #字符串 True >>> bool(False) False >>> bool("") #双引号中没有内容 False >>> bool(" ") #输入空格 True >>> bool(0) False >>> bool(0.0) False >>> bool(0j) False >>> bool(123) True
分析
- 有朋友可能好奇,什么?明明输入的是假和False为什么返回的还是True,其实这只是一个小小的障眼法,因为它们有用双引号括起来所以他们是字符串(第一第三行),在字符串中只有空字符(第七行)才会返回False,即使是输入空格(第九行)也会返回True。
- 在数字类型中也只有特定的几个数才会返回False,其余的都是True。
通过测试我们发现,只有在一些特定情况下,bool()才会返回False,总结为以下几种:
- 常量None和False
- 0,0.0,0j,Decimal(0),Fraction(0, 1)
- 空字符串,空集合、序列等,”,(),[],set(),range(0)
这里面有些对我们来说看着多都很陌生,不过没关系,以后会慢慢接触到的。
布尔运算
布尔类型的运算符有三种分别是:and,or,not,关于这三个逻辑运算符,以及其他常用运算符,我之前有进行过总结:从零开始学习python(1)——表达式,语句,变量与运算符 。
测试代码:
>>> 2 > 3 and 3 > 2 False >>> 2 > 1 and 3 > 1 True >>> 2 > 1 or 3 < 5 True >>> 1 > 4 or 3 > 2 True >>> 1 > 3 or 3 > 6 False >>> not False True >>> not 250 False
- 对于and运算符来说必须两边的操作数都为True结果才会返回True,否则返回False。
- 对于or运算符来说,只要有一个操作数为True,结果即为True,否则返回False。
- 对于not运算符来说,就是将True变为False,将False变为True。
Python中任何对象都能直接进行真值测试(测试该对象的布尔类型值为True还是False),当然也可以作为布尔逻辑运算符的作操作数,也可以说任何类型都可以作为布尔逻辑运算符的操作数。
>>> 2 and 4 4 >>> 3 or 5 3 >>> "python" and "C" 'C' >>> "Hello" or 123 'Hello'
那么为什么会是这样呢?这里就留给大家去思考了,后面我也会重新写一篇文章进行解答。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/189232.html