很多語言種都有這樣一個三目運算符,bool ? a : b,使用也很方便,bool爲true返回a,否則返回b,python中需要使用and or這兩個東東達到同樣的效果,實際上python中的邏輯運算符挺讓人頭疼的。
舉個簡單的例子:
上面的這段代碼就是等同三目運算符的了.
and操作會依次比較各個表達式,返回第一個爲false的表達式,否則返回最後一個爲true的表達式
or操作剛好相反,返回第一個爲true的表達式,否則返回最後一個爲false的表達式
這樣在看上面的代碼就容易多了
Example code的腳本中有這麼一段
- processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)