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))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章