编程语言应用

注册

 

发新话题 回复该主题

IT编程Python开发基础系列布尔 [复制链接]

1#
北京哪里治疗白癜风做的好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/sfxbdf/

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

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

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

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

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

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

TrueTrueFalseFalse32True35False3in[1,2,3]True3==9/3True3is"3"False

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

bool(1)Truebool(0)Falsebool([])Falsebool(())Falsebool({})Falsebool(-1)Truebool()Falsebool("False")Truebool("True")Truebool(0.0)Falsebool(1.0)Truebool(-0.0)False

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

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

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

TrueandTrueTrueTrueandFalseFalseFalseandFalseFalse53and31True

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

TrueorTrueTrueTrueorFalseTrueFalseorFalseFalse53or13True

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

notTrueFalsenotFalseTruenot12True

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

TrueFalseTrueTrueFalseFalseTrue=FalseTrueTrue-10True+12True*33False-1-1

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

空值:None

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

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

bool(None)Falsetype(None)classNoneType

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

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

forcharinlist1:print(char.join("A"))

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

Traceback(mostrecentcalllast):File"F:/Python/pycharm//test.py",line7,inmoduleprint(char.join("A"))

AttributeError:NoneTypeobjecthasnoattributejoin

以上就是关于Python布尔类型的详解,后续会持续更新Python相关知识点。私信回复,免费领取G网盘全科目编程学习资源,包含视频教程、项目源码、学习路线图等,赶快私信吧!

分享 转发
TOP
发新话题 回复该主题