程序开发中布尔运算,条件表达式运算怎么操作?
发布网友
发布时间:2022-05-08 01:43
我来回答
共1个回答
热心网友
时间:2022-04-18 19:54
在执行布尔运算的情况下,或是当表达式被用于流程控制语句时,以下值会被解析为假值: False, None, 所有类型的数字零,以及空字符串和空容器(包括字符串、元组、列表、字典、集合与冻结集合)。 所有其他值都会被解析为真值。 用户自定义对象可通过提供 __bool__() 方法来定制其逻辑值。
运算符 not 将在其参数为假值时产生 True,否则产生 False。
表达式 x and y 首先对 x 求值;如果 x 为假则返回该值;否则对 y 求值并返回其结果值。
表达式 x or y 首先对 x 求值;如果 x 为真则返回该值;否则对 y 求值并返回其结果值。
请注意 and 和 or 都不*其返回的值和类型必须为 False 和 True,而是返回最终求值的参数。 此行为是有必要的,例如假设 s 为一个当其为空时应被替换为某个默认值的字符串,表达式 s or 'foo' 将产生希望的值。 由于 not 必须创建一个新值,不论其参数为何种类型它都会返回一个布尔值(例如,not 'foo' 结果为 False 而非 ''。)
条件表达式(有时称为“三元运算符”)在所有 Python 运算中具有最低的优先级。
表达式 x if C else y 首先是对条件 C 而非 x 求值。 如果 C 为真,x 将被求值并返回其值;否则将对 y 求值并返回其值。