Python面試真題-解釋一下python的and-or語法?
【Python面試真題】-解釋一下Python的and-or語法?
與C表達式 bool ? a : b類似,但是bool and a or b,當 a 為假時,不會象C表達式 bool ? a : b 一樣工作
應該將 and-or 技巧封裝成一個函數(shù):
def choose(bool, a, b):
return (bool and [a] or [b])[0]
因為 [a] 是一個非空列表,它永遠不會為假。甚至 a 是 0 或 '' 或其它假值,列表[a]為真,因為它有一個元素。