Python零基础入门学习03:Python基本数据类型:布尔类型

:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

如上一节所说,布尔值属于整数(int)的子类型。

布尔值是两个常量对象False和True。它们被用来表示逻辑上的真假(不过其他值也可被当作真值或假值)。

可以用bool()函数对任何对象进行布尔值检测。

布尔值False与True和整数0与1有某种对应关系。

int(False)
Out[1]: 0

int(True)
Out[2]: 1

bool(0)
Out[20]: False

bool(1)
Out[21]: True

布尔运算(逻辑运算)

“与”and,双目运算。

“或”or,双目运算。

“非”not,单目运算。

三者优先级比较:not > and > or。

而布尔运算的优先级又比非布尔的优先级要低。所以对not a == b而言,会先运算a == b,然后再运算not,即not a == b等价于not (a == b)。

如何判定各类型的对象对应的布尔值

整数、浮点数和复数类型——0是False,所有非0的数值都是True。

字符串类型——空字符串""是False,所有非空的字符串都是True。

所有序列类型(包括字符串)——空序列是False,所有非空的序列都是True。

除了空字符串""外,空序列还包括空元组()、空列表[]、空字典{}、空集合set()、空range(即range(0))。

空值None——None表示“无意义”或“不知道”,也是False。

bool([])  # 空列表的布尔值为False。
Out[3]: False

bool(['a'])  # 非空列表的布尔值为True。
Out[4]: True

bool('')  # 空字符串的布尔值为False。
Out[5]: False

bool('12')  # 非空字符串的布尔值为True。
Out[6]: True

bool(0)  # int数字0的布尔值为False。
Out[7]: False

bool(1)  # 非零数字的布尔值为True。
Out[8]: True

bool(-32)  # 非零数字的布尔值为True。
Out[9]: True

bool(())  # 空元组的布尔值为False
Out[10]: False


bool((0, ))  # 非零元组的布尔值为True。
Out[15]: True

bool({})  # 空字典的布尔值为False。
Out[16]: False

bool(set())  # 空集合的布尔值为False。
Out[17]: False

bool(range(0))  # 空range的布尔值为False。
Out[18]: False

bool(None)
Out[22]: False

To be continued.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但...
    0e90ce1fa3cc阅读 204评论 0 0
  • Python程序的组成 程序由模块组成 模块由语句,函数,类,数据等组成 语句包含表达式 表达式建立并处理数据对象...
    遇明不散阅读 391评论 0 0
  • 1、Python中数据类型 1、整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整...
    极客小寨阅读 255评论 0 1
  • hey,你知道吗?现在的我有些不知所错。
    凉木沁阅读 219评论 0 0
  • 《圣经·旧约·创世记》第十一章说,当时人类联合起来兴建希望能通往天堂的高塔,为了阻止人类的计划,上帝让人类说不同的...
    张好奇阅读 510评论 0 5