wangjuju123

2018-11-16   阅读量: 590

数据分析师 Python编程

这正是布尔值的用武之地

扫码加入数据分析学习群

用作布尔表达式(如用作if语句中的条件)时,下面的值都将被解释器视为假: False None 0 "" () [] {} 换而言之,标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空 字符串、空元组和空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真①, 包括特殊值True②。 明白了吗?这意味着任何Python值都可解释为真值。乍一看这有点令人迷惑,但也很有用。 虽然可供选择的真值非常多,但标准真值为True和False。在有些语言(如C语言和2.3之前的Python 版本)中,标准真值为0(表示假)和1(表示真)。实际上,True和False不过是0和1的别名,虽 然看起来不同,但作用是相同的。

>>> True

True

>>> False

False

>>> True == 1

True

>>> False == 0

True

>>> True + False + 42 43

因此,如果你看到一个返回1或0的表达式(可能是使用较旧的Python版本编写的),就知道 这实际上意味着True或False。

布尔值True和False属于类型bool,而bool与list、str和tuple一样,可用来转换其他的值。

>>> bool('I think, therefore I am')

True

>>> bool(42)

True

>>> bool('')

False

>>> bool(0)

False

鉴于任何值都可用作布尔值,因此你几乎不需要显式地进行转换(Python会自动转换)。

注意 虽然[]和""都为假(即bool([]) == bool("") == False),但它们并不相等(即[] != "")。 对其他各种为假的对象来说,情况亦如此(一个更显而易见的例子是() != False)。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子