布尔类型仅用来表示两种可能的值:真(True)和假(False)。在 Python 中,布尔类型是一种特殊的整数类型。
下面的例子可以看到 True 和 False 既是布尔类型,也是整数类型。
>>> isinstance(True, bool) # True是布尔类型? True >>> isinstance(True, int) # True是整数类型? True >>> isinstance(False, bool) # False是布尔类型? True >>> isinstance(False, int) # False是int类型? True
其实,True 就是整数 1,False 就是整数 0。
>>> True == 1 # True和1的值相等吗? True >>> True == 2 # True和2的值相等吗? False >>> False == 1 # False和1的值相等吗? False >>> False == 0 # False和0的值相等吗? True
由于布尔类型就是整数类型的一个特例,所以整数类型的所有运算对布尔类型都适用。如前面介绍的移位运算也是可以的:
>>> True << 3 # 对布尔类型数据进行移位操作 8 >>> False + 12 # 对布尔类型数据进行加法运算 12
Python 对布尔类型有一些特殊的运算,也就是与或非,请猛击《Python逻辑运算》一文了解详情。