逻辑运算符Boolean operations
and 并且
计算时,两个都是 True 才是 True
1 <2 <3 <4 <print(True and True)Trueprint(False and True)Falseprint(True and False)Falseprint(False and False)False
or 或者
一个是 True 就是 True
1 <2 <3 <4 <print(True or True)Trueprint(False or True)Trueprint(True or False)Trueprint(False or False)False
not 非
逻辑取反
1 <2 <print(not True)Falseprint(not False)True
bool 转换 规则
一些类型的值,可以通过 bool() 将其转换为 bool 类型
1 <2 <print(bool(0))Falseprint(bool('abc'))True
转换规则对照表
这些会转换为 True
1 True, 1, 2, '0', '1', '2', [0], (1), (0, 1), {0}
这些会转换为 False
1 False, None, 0, '', [], (), (0), {}
and 操作 非 bool 类型
会返回 第一个 能转换为 False 的值
如果都不能转换为 False,则返回最后一个值
1 <2 <print(0 and 'hello')0print(True and 312)312
or 操作 非 bool 类型
会返回 第一个 能转换为 True 的值
如果都不能转换为 True,则返回最后一个值
1 <2 <print(10 or False)10print('' or 0)0
not 操作 非 bool 类型
会自动调用 bool() 将其转换为 bool 类型后,取反
1 <2 <print(not 123)Falseprint(not '')True
广告