服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

【Python教程】布尔类型

日期: 来源:Python架构师收集编辑:点击关注

整理:python架构师


对于错、0和1、正与反,都是传统意义上的布尔类型。

但在Python语言中,布尔类型只有两个值,True与False。请注意,是英文单词的对与错,并且首字母要大写,不能其它花式变型。

所有计算结果,或者调用返回值是True或者False的过程都可以称为布尔运算,例如比较运算。布尔值通常用来判断条件是否成立。

age = 16
if age >= 18: print("你是个成年人")else: print("你还未成年")


Python内置的bool()函数可以用来测试一个表达式的布尔值结果。

下面一些例子的结果,可能让你感到惊讶,但事实就是如此,请坦然接受。

>>> TrueTrue>>> FalseFalse>>> 3 > 2True>>> 3 > 5False>>> 3 in [1,2,3]True>>> 3 == 9/3True>>> 3 is "3"False


为什么3 is "3"是错误的呢?因为一个是整数一个是字符串,is运算符比较的是对象,当然是错误的。

>>> bool(1)True>>> bool(0)False>>> bool([])False>>> bool(())False>>> bool({})False>>> bool(-1)True>>> bool('')False>>> bool("False")True>>> bool("True")True>>> bool(0.0)False>>> bool(1.0)True>>> bool(-0.0)False


看完上面的例子,你会发现很多想当然的结果居然是错的。0、0.0、-0.0、空字符串、空列表、空元组、空字典,这些都被判定为False。而-1、"False"也被判断为True。


布尔类型可以进行and、or和not运算。


and运算是与运算,只有所有都为True,and运算的结果才是True:

>>> True and TrueTrue>>> True and FalseFalse>>> False and FalseFalse>>> 5 > 3 and 3 > 1True


or运算是或运算,只要其中有一个为True,or运算结果就是True:

>>> True or TrueTrue>>> True or FalseTrue>>> False or FalseFalse>>> 5 > 3 or 1 > 3True


not运算是非运算,它是单目运算符,把True变成False,False变成True:

>>> not TrueFalse>>> not FalseTrue>>> not 1 > 2True


再开下脑洞,布尔类型还能做别的运算吗?试试就知道了!

>>> True > FalseTrue>>> True < FalseFalse>>> True >=FalseTrue>>> True -10>>> True + 12>>> True *33>>> False -1-1


真的可以!比较运算,四则运算都没有问题。并且在做四则运算的时候,明显把True看做1,False看做0。往往是我们不知道的细节,有时候给我们带来巨大的困扰和疑惑。更多的运算种类支持,请大家自行测试。

空值:None

空值不是布尔类型,严格的来说放在这里是不合适的,只不过和布尔关系比较紧密。

空值是Python里一个特殊的值,用None表示(首字母大写)。None不能理解为0,因为0是整数类型,而None是一个特殊的值。None也不是布尔类型,而是NoneType


>>> bool(None)False>>> type(None)<class 'NoneType'>

我们平时最容易犯的错误就是获得了一个None值,却对它进行各种方法调用,例如:


list1 = ["a", "b", None]

for char in list1: print(char.join("A"))

######################################

Traceback (most recent call last): File "F:/Python/pycharm/201705/test.py", line 7, in <module> print(char.join("A"))AttributeError: 'NoneType' object has no attribute 'join'


程序员技术交流群


扫码进群记得备注:城市、昵称和技术方向。


 阅读更多


  1. 【Python教程】运算符
  2. 【Python教程】Python基础语法
  3. 【Python教程】第一个Python程序:Hello World

相关阅读

  • 创富故事丨夏见荣:孵小鸡孵出大事业

  •   石榴云/新疆日报记者 郑卓 通讯员 古丽孜亚·杰格斯  3月底的布尔津县春寒料峭。早上7点多,很多人还在梦乡里,夏见荣就已推开鸡舍的门,开始了忙碌的一天。  喂饲、喂水
  • 博导推荐!SCI文献阅读框架,必须人手一份!

  • 博导推荐!SCI文献阅读框架,必须人手一份!二知了公众号对话框回复:uy,获取目标资料完整版。1.SCI文献阅读框架模板以Introduction、Methods、Results、Discussion4大板块为主,每个
  • 如何快速地学习新事物?

  • 编者按:这是个日新月异的时代,每天都会产生以兆亿计的信息,同时也有大量新事物不断在诞生。这些新事物也许是你以前没有接触过的,抑或是最近完全新生的事物。但是有些人会恐惧,面
  • 药明康德:核磁共振图谱解析培训手册(126页/PPT)

  • 核磁共振图谱解析培训手册(126页/PPT),推文中展示前30页,需要完整的版本,二知了公众号对话框回复:gv,获取目标资料完整版。二知了精选资源:1、Origin安装软件+视频教程+PDF教程:包
  • 串起美丽风景道,“童话边城”路畅景美

  • 一架架飞机停到机场,一列列火车载客而来、一辆辆自驾车缓缓驶入……“童话边城”布尔津的旅游大道既便捷,又通畅。天南海北的游客络绎而来,体验高山粉雪,欣赏春日画卷。包机旅

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 【Python教程】布尔类型

  • 整理:python架构师对于错、0和1、正与反,都是传统意义上的布尔类型。但在Python语言中,布尔类型只有两个值,True与False。请注意,是英文单词的对与错,并且首字母要大写,不能其它花
  • 从沙漠里找到答案!西工大,又有新突破!

  • 日前,西北工业大学空天微纳系统创新团队在飞行器减阻方面取得突破性进展。该团队通过模仿我国库姆塔格沙漠特有的舌状分形沙垄结构,设计出仿沙垄舌形多层分形减阻微纳结构。该
  • 孩子给离世父亲发了条短信,意外收到回复...

  • “爸爸也很想你!”3月26日,陕西西安孩子给父亲生前手机号发短信讲述自己的现状并称非常想念爸爸竟意外收到回复原来是新机主收到短信后以其父亲的名义暖心回复鼓励他收拾好心
  • 逛馆必看!人形机器人“入职”中科馆

  • “爸爸,这个机器人真厉害,不仅能当主持人,还会金鸡独立呢!” 在中国科学技术馆(以下简称“中科馆”)的“机器人大秀场”展厅里,一位小朋友正在观看大型人形机器人Walker的科普展示,
  • 免费坐高铁?攻略来了→

  • 3月28日话题#免费坐高铁#冲上热搜网友:感觉自己失去了一个亿有网友表示已经用了好多次经常出差,省了好多钱来源:网友评论截图如何免费坐火车?攻略来了!01注册会员打开铁路12306AP