leafu 发表于 2022-3-30 15:10:30

python 中if-else的多种简洁的写法(详细版)

本帖最后由 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时,实际与a一样。
------实例:c=
------解析:首先创建了一个列表,结果为False,即c= 等价于c= ,最终返回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 or )
------实例2:c = a>b and a or b
------解析
        1、c = (a>b and or ),先执行括号内内容(a>b and or ),从左到右,a>b为假,则a>b and 返回False,False or ,第一个值为假,返回 的计算值,即 ,最终 ,返回b
        2、c = a>b and a or b,与上面大同小异,a>b为假,则a>b and a 返回False,False or b,第一个值为假,返回 b的计算值,即 b。与实例1相比,少了列表计算,是一个优化。
页: [1]
查看完整版本: python 中if-else的多种简洁的写法(详细版)