python中三元表达式的几种写法



# 返回a和b中较大的一个
def func(a, b):
    ret1 = a if a > b else b            # 写法1, 如果a>b, ret1=a, 否则, ret1=b
    ret2 = {True: a, False: b}[a > b]   # 写法2, 如果条件成立, ret2=True对应的值--> a, 反之, ret2 =False对应的值
    ret3 = (b, a)[a > b]                # 写法3  (不成立的值, 成立的值)[条件]

    return ret1, ret2, ret3


print(func(10, 20))     # (20, 20, 20)


def func2(a):
    return a or "不存在"          # 特殊写法


print(func2(1))
print(func2(0))
发布了73 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42327755/article/details/103512396