逻辑运算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
广告