|  | 
 
| 
本帖最后由 leafu 于 2022-3-30 15:10 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 if-else简洁的写法,目前看到的有4种:
 1、普通写法
 ------要点:了解if-else基本用法
 ------实例:
 a, b, c = 1, 2, 3
 if a>b:
 c = a
 else:
 c = b
 2、一行表达式
 ------要点:了解if-else一行表达式规则,(条件为真时执行的内容) if (判断条件) (条件为假时执行的内容)
 ------实例:c = a if a>b else b
 ------解析:如果a>b为真,返回a,如果为假,执行else b,最终返回b
 3、二维列表模式,利用大小判断的布尔值当作索引
 ------要点:bool实际上是int一个子类。就像每个数字都是布尔值一样,每个布尔值都是一个整数。int(True)=1,int(False)=0。所以使用a[True]时,实际与a[1]一样。
 ------实例:c= [b, a][a > b]
 ------解析:首先[b, a]创建了一个列表,[a > b]结果为False,即c= [b, a][False]等价于c= [b, a][0],最终返回b
 4、 利用逻辑运算符进行操作
 ------要点:
 and:布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
 or:布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。
 not:布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
 ------实例1:c = (a>b and [a] or [b])[0]
 ------实例2:c = a>b and a or b
 ------解析
 1、c = (a>b and [a] or [b])[0],先执行括号内内容(a>b and [a] or [b]),从左到右,a>b为假,则a>b and [a] 返回False,False or [b],第一个值为假,返回 [b]的计算值,即 [b],最终 [b][0],返回b
 2、c = a>b and a or b,与上面大同小异,a>b为假,则a>b and a 返回False,False or b,第一个值为假,返回 b的计算值,即 b。与实例1相比,少了列表计算,是一个优化。
 | 
 |