【Python教程】布尔类型
【Python教程】布尔类型
gh_1d7504e4dee1
回复关键字:python,领取Python面试题。分享Python教程,Python架构师教程,Python面试题答案,Pycharm教程,Python微服务架构,Python分布式架构,Python高可用架构,Pycharm注册码等。
整理: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
)
<
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’
程序员技术交流群
扫码进群记得备注: 城市、昵称和技术方向 。
阅读更多
-
【Python教程】运算符 -
【Python教程】Python基础语法 -
【Python教程】第一个Python程序:Hello World
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
