首页 > 行业资讯 > 【Python教程】布尔类型

【Python教程】布尔类型

时间:2023-03-28 来源: 浏览:

【Python教程】布尔类型

点击关注 Python架构师
Python架构师

gh_1d7504e4dee1

回复关键字:python,领取Python面试题。分享Python教程,Python架构师教程,Python面试题答案,Pycharm教程,Python微服务架构,Python分布式架构,Python高可用架构,Pycharm注册码等。

收录于合集
#Python爬虫 8
#python编程 49
#Python架构师 132
#python 70
#python教程 38

整理:python架构师

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

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

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

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

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

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

>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False >>> 3 in [ 1 , 2 , 3 ] True >>> 3 == 9 / 3 True >>> 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 True True >>> True and False False >>> False and False False >>> 5 > 3 and 3 > 1 True

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

>>> True or True True >>> True or False True >>> False or False False >>> 5 > 3 or 1 > 3 True

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

>>> not True False >>> not False True >>> not 1 > 2 True

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

>>> True > False True >>> True < False False >>> True >= False True >>> True -1 0 >>> True + 1 2 >>> True * 3 3 >>> False -1 -1

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

空值:None

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

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

>>> bool( None ) False >>> type( None ) < classNoneType ’>

我们平时最容易犯的错误就是获得了一个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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐