三元運算子通常在python裡被稱為條件表示式,這些表示式基於真(true)/假(not)的條件判斷,在python 2.4以上才有了三元操作。
下面是乙個偽**和例子:
偽**:
#如果條件為真,返回真 否則返回假
condition_is_true if condition else condition_is_false
例子:
is_fat = true
state = "fat"
if is_fat else
"not fat"
它允許用簡單的一行快速判斷,而不是使用複雜的多行if
語句。 這在大多數時候非常有用,而且可以使**簡單可維護。
另乙個晦澀一點的用法比較少見,它使用了元組,請繼續看:
偽**:
#(返回假,返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]
例子:
fat = true
fitness = ("skinny", "fat")[fat]
print("ali is ", fitness)
#輸出: ali is fat
這之所以能正常工作,是因為在python中,true等於1,而false等於0,這就相當於在元組中使用0和1來選取資料。
上面的例子沒有被廣泛使用,而且python玩家一般不喜歡那樣,因為沒有python味兒(pythonic)。這樣的用法很容易把真正的資料與true/false弄混。
另外乙個不使用元組條件表示式的緣故是因為在元組中會把兩個條件都執行,而if-else
的條件表示式不會這樣。
例如:
condition = true
print(2
if condition else
1/0)
#輸出: 2
print((1/0, 2)[condition])
#輸出zerodivisionerror異常
這是因為在元組中是先建資料,然後用true(1)/false(0)來索引到資料。 而if-else
條件表示式遵循普通的if-else
邏輯樹, 因此,如果邏輯中的條件異常,或者是重計算型(計算較久)的情況下,最好盡量避免使用元組條件表示式。 Python運算子之三元運算子
三元運算子 也稱之為條件表示式 條件為真的結果 if 條件 else 條件為假的結果 如 ium01 100if100 200else200 print num01 三元運算子 條件表示式 是條件選擇的一種簡單寫法具體寫法如下 if100 200 num01 100 else num01 200 示...
三元運算子
根據條件執行兩個語句中的其中乙個。test?語句1 語句2引數 test 任何boolean 表示式。語句1當 test 是true時執行的語句。可以是復合語句。語句2當 test 是false時執行的語句。可以是復合語句。說明?運算子是if.else語句的快捷方式。它通常被用作較大表示式的一部分,...
三元運算子
先定義a和b 兩個數比較 int a 123 int b 144 通過定義big來反映a和b誰更小 int big a b?a b 通過定義small來反映a和b誰更小 int small asystem.out.println a和b之間較大的數 big system.out.println a和...