c語言中有類似的表達: bool ? a : b,當表示式值為真的話,值為a,否則為b.
看乙個例子:
>>> a = "first"
>>> b = "second"
>>> 1 and a or b
'first'
>>> 0 and a or b
'second'
這個例子很好理解,1 表示為真,值為a,否則為b.
在使用過程中,發現也不完全是這樣,如果a 為假的話,表示式值為b。
比如:
>>> a = ""
>>> b = "second"
>>> 1 and a or b
'second'
有個技巧可以避免出現上面的問題,如下:
因為>>> a = ""
>>> b = "second"
>>> (1 and [a] or [b])[0]
[a]是乙個非空列表,它永遠不會為假。甚至 a是
0或 ''或其它假值,列表
[a]為真,因為它有乙個元素。
python中的and or技巧
a first b second 1 and a or b first 0 and a or b second 語言中的 bool a b 表示式。整個表示式從左到右進行演算,所以先進行 and 表示式的演算。1 and first 演算值為 first 然後 first or second 的演算...
Python學習之and or使用技巧
本文主要介紹了python and or使用的一些小技巧 在python中 and 和 or 執行布林邏輯運算,但是他們並不返回布林值,而是返回他們實際進行比較的值之一。a and b 這個返回 b 使用 and 時,從左到右計算表示式的值。0 none 在布林環境中為假 其它任何東西都真。在這個例...
Python學習之and or使用技巧
本文主要介紹了python and or使用的一些小技巧 在python中 and 和 or 執行布林邏輯運算,但是他們並不返回布林值,而是返回他們實際進行比較的值之一。a and b 這個返回 b 使用 and 時,從左到右計算表示式的值。0 none 在布林環境中為假 其它任何東西都真。在這個例...