python中的and和or和其它語言的區別很大
其它語言中的and和or都是返回bool類型的結果,python不是。它返回的是做and和or運算的其中一個值。
那個值決定了這個表達式的值,就返回那個值。
代碼如下:
>> 5 and ''
這里結果是'', 空字符串, 因為是它導致了這個表達式為false.
也就是所在and中,只有前面一個值是false的時候,才有可能成為結果。否則就是后面的值為結果。
了解了and和or運行的過程,那么就可以實現?表達式了:
代碼如下:
if (expression):
return truevalue
else:
return falsevalue
和這個等價的寫法是(類似?號表達式):
代碼如下:
expression and truevalue or falsevalue
#或者
(expression and (truevalue,) or (falsevalue,))[0] #感謝snake117提供的建議
#這種是避免truevalue有可能是false的情況,比如空字符串
新聞熱點
疑難解答