我們知道c語句中存在問號表示式,例如下面:
a=2>1? 10: -10;
那麼,python指令碼語言中是否也存在類似的問號表示式呢?答案是肯定的。而且存在兩種方式。
方式1:使用if else實現
如下例:
b = 5
a = 2 if b == 4 else 1
print a
方式2:使用邏輯運算子實現
如下例:
b = 5
a = b == 4 and 2 or 1
要注意:使用邏輯運算時要保證and後面的變數值不能為非,否則會出錯。
提示python中的and和or和其它語言的區別很大。其它語言中的and和or都是返回bool型別的結果,python不是。它返回的是做and和or運算的其中乙個值。那個值決定了這個表示式的值,就返回那個值。請看下面的例子:
>> 5 and ''
這裡結果是'', 空字串, 因為是它導致了這個表示式為false.
也就是所在and中,只有前面乙個值是false的時候,才有可能成為結果。否則就是後面的值為結果。
了解了and和or執行的過程,那麼就可以實現上面的?表示式了。
python問號表示式 python中的問號表示式
我們知道c語句中存在問號表示式,例如下面 a 2 1?10 10 那麼,python指令碼語言中是否也存在類似的問號表示式呢?答案是肯定的。而且存在兩種方式。方式1 使用if else實現 如下例 b 5 a 2 if b 4 else 1 print a 方式2 使用邏輯運算子實現 如下例 b 5...
python實現問號表示式 的方法
python中的and和or和其它語言的區別很大 其它語言中的and和or都是返回bool型別的結果,python不是。它返回的是做and和or運算的其中乙個值。那個值決定了這個表示式的值,就返回那個值。複製 如下 5 這裡結果是 空字串,因為是它導致了這個表示式為false.也就是所在and中,只...
問號表示式的好處
其實很久沒有用過,只是偶爾一下!爆汗!其實,if else 和 swich 語句 在很少的判斷時 問號表示式是最佳的選擇 問號表示式原型 object set1 set2 註解 如果 object 為真 則 整個 問號表示式的值為 set1 否則 為 set2 demo string k 1 1 就...