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.

你可能感兴趣的:(Python零基础入门学习03:Python基本数据类型:布尔类型)