使用一行**快速判斷,替換複雜的多行if語句,使得**簡單可維護。
# 如果條件為真,返回真,否則返回假
condition_is_true if condition else condition_is_false
is_fat = true
state = "fat"
if is_fat else
"not fat"
# (返回假,返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]
fat = true
fitness = ("skinny", "fat")[fat]
print('all is ', fitness)
# 輸出: all is fat
注意:- 原理:python中,true == 1,false == 0,相當於元組中使用0和1來選取資料;
- 這種寫法不被推薦,原因:不pythonic;容易把資料與true/false弄混;元祖中兩個條件都執行,而
if-else
的條件表示式不會;
condition = true
python(2
if condition else
1/0)
# 輸出:2
print(1/0, 2)[condition]
# 輸出:zerodivisionerror異常
解釋:- 元組先建資料,然後用true(1)/false(0)來索引資料;
-
if-else
條件表示式遵循普通的if-else
邏輯樹;- 如果邏輯中有異常條件或重計算型(計算較久)的情況下,避免使用元組條件表示式。
github:
三元表示式
c 中有乙個三元運算子 語法為 條件表示式?表示式1 表示式2 該操作首先求出條件表示式的值 bool型別 為true時呼叫表示式1,為flase時呼叫表示式2。其邏輯為 如果為真執行第乙個,否則執行第二個。例項 string result name 老趙 帥的掉渣了 山炮掉渣了 dic.add d...
三元表示式
採用三元操作符對?對表示式進行運算,這種操作符比較特別,因為它有三個操作物件,但它確實屬於操作符的一種,它最終也會生成乙個值。其表示式採取下述形式 boolean exp value0 value1 原型比較大小 string result int i 5,j 10 if i j result su...
三元表示式
有段時間沒有跟進東西了,說明我沒有進步,三元表示式真的挺好用的,有的地方沒法用if else進行判斷,用這個很方便,之前上學的時候學過這個,由於這個知識點很小,盡然被我忘了,上次寫東西我想了好久,在那裡邊沒法進行判斷,後來人家給我說用三元表示式啊,我愣住了,三元表示式,不知道是啥,人家也不給我說,直...