|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 leafu 于 2022-3-30 15:10 编辑
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相比,少了列表计算,是一个优化。 |
|