一、 判断(关系)运算符
运算符 <, >, ==, >=, <= 和 != 将比较两个对象的值。 两个对象不要求为相同类型。
>>> 10 > 5
True
>>> 10 == 10
True
>>> 10 != 9
True
>>> 1 == True
True
>>> False == 0
True
链式判断
>>> 10 > 5 > 3
True
二、 逻辑运算符和成员运算符
>>> n = 1
>>> not n
False
>>> n = 0
>>> not n
True
>>> n = ""
>>> not n
True
>>> 'h' in 'hello'
True
运算符 not 将在其后跟的 参数 为假值时产生 True,否则产生 False。
>>> not 0
True
>>> not ''
True
>>> not 'hello'
False
表达式 x and y 首先对 x 求值;如果 x 为假则返回 该值;否则对 y 求值并返回 其结果值。
>>> x = 0
>>> y = 1
>>> x and y
0
>>> 'hello' and y
1
>>>
表达式 x or y 首先对 x 求值;如果 x 为 真 则返回该 值;否则对 y 求值并返回其 结果值。
>>> 'hello' or y
'hello'
>>> '' or y
1
>>> x or y
1
>>>
> 请注意 and 和 or 都不限制其返回的值和类型必须为 False 和 True,而是返回最被求值的参数的 值。
三、 看清真假
在执行布尔运算的情况下,或是当表达式被用于流程控制语句时,以下值会被解析为假值: False, None, 所有类型的数字零,以及空字符串和空容器(包括字符串、元组、列表、字典、集合与冻结集合)。
所有其他值都会被解析为真值。