現在大部分高階語言都支援「?
」這個三元運算子(ternary operator
),它對應的表示式如下:
condition ?
value if true :
value if false
。很奇怪的是,這麼常用的運算子python
居然不支援!誠然,我們可以通過if-else
語句表達,但是本來一行**可以完成的非要多行,明顯不夠簡潔。沒關係,在python
,否則返回val2」。
討論二:大家都知道python裡有list和tuple,前面這行**
ret=x and [""] or ["val"]我們就是通過list解決,有的人可能偏愛tuple,於是就會這樣寫
ret=x and ("") or ("val")。錯了!這裡ret[0]永遠都是空字串(在2.5上測試)。這是我比較faint的一點,為啥[""]為真而("")為假呢?
最後,附上python對典型數值的布林求值結果,這對我們書寫三元運算的等價語句很有用。
輸入布林求值1,
-1,[「」]
true
0, 「」, none, , (), {}, (「」)
false
python 之 三元運算
三元,是那個三元奶粉嗎,no!no no!你想多了 三元運算也叫三目運算 就是,把乙個簡單的條件語句 收縮成一行,可以實現同樣的功能,沒錯就是同樣的功能,減價不減量哦!三元運算的好處是什麼呢,減少 量,還有很重要的一條就是 xx 沒錯,就是xx 來看例子吧 m input enter first n...
Python語言技巧之三元運算子使用介紹
python不支援c c 中的三元操作符 替代的方法是 if.else.舉例,用下面的語法實現求三個數的最小值。nd1 if nd1 nd2 if nd2 python三元運算子的正確方法 因為下週要用php寫專案,所以週末在家裡重新看php的語法,看到三元描述符,突然想起來python是沒有三元描...
Python運算子之三元運算子
三元運算子 也稱之為條件表示式 條件為真的結果 if 條件 else 條件為假的結果 如 ium01 100if100 200else200 print num01 三元運算子 條件表示式 是條件選擇的一種簡單寫法具體寫法如下 if100 200 num01 100 else num01 200 示...