逻辑运算Booleans

布尔值字面量Boolean Literals

1 2
exist = Trueexist = False
广告

布尔值化Boolean Conversions

bool 函数

任何数据 均可使用 bool 函数,将数据转为 布尔值类型

1 <
print(bool(3))True
规则

系统自带的数据结构中,以下及一些空集合 会变为 False,其它会变为 True

1
False, None, 0, "", [], {}

自定义类型转为 bool 类型

自定义类型通过实现 __bool__ 函数,可以让其他人使用 bool 函数 将其变为 bool 类型

广告

逻辑运算符Boolean Operators

逻辑计算

1 <2 3 <4 5 <
print(True or False) # 或者True print(True and False) # 并且False print(not True) # 逻辑取反False

非 bool 类型参与 逻辑运算

非 bool 类型参与 逻辑运算时,会自动被使用 bool 函数,将其 bool 化。

or
1 2 <3 4 5 <
# 返回第一个 等价 True 的值print(None and 2 and False)2 # 如果全程没有 等价 True 的,返回最后一个print(0 and [] and None)None
and
1 2 <3 4 5 <
# 返回第一个 等价 False 的值print(2 and None and False)None # 如果全程没有 等价 False 的,返回最后一个print(2 and 3 and 4)4
not
1 <
print(not 4)False

与 比较运算符的 简化

1 2 3 4 5 6 7 8
x = int(input()) # 以下代码print(1 < x and x < 10) # 可以简化为print(1 < x < 10)
广告

条件表达式Conditional Expressions

类似一般语言中的 ? : 运算符

公式
1
<正确结果> if <条件> else <错误结果>
案例
1 2
price = 200shipping_fee = 0 if price >= 150 else 30
广告

ZZAX 微信公众

文档一更新,立刻告诉你