Python 三元表示式(條件表示式)

2021-08-22 18:09:09 字數 1029 閱讀 8363

使用一行**快速判斷,替換複雜的多行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進行判斷,用這個很方便,之前上學的時候學過這個,由於這個知識點很小,盡然被我忘了,上次寫東西我想了好久,在那裡邊沒法進行判斷,後來人家給我說用三元表示式啊,我愣住了,三元表示式,不知道是啥,人家也不給我說,直...