python實(shí)現(xiàn)問號表達(dá)式(?)的方法
python中的and和or和其它語言的區(qū)別很大
其它語言中的and和or都是返回bool類型的結(jié)果,python不是。它返回的是做and和or運(yùn)算的其中一個值。
那個值決定了這個表達(dá)式的值,就返回那個值。
>> 5 and ''
這里結(jié)果是'', 空字符串, 因?yàn)槭撬鼘?dǎo)致了這個表達(dá)式為false.
也就是所在and中,只有前面一個值是false的時候,才有可能成為結(jié)果。否則就是后面的值為結(jié)果。
了解了and和or運(yùn)行的過程,那么就可以實(shí)現(xiàn)?表達(dá)式了:
if (expression):
return truevalue
else:
return falsevalue
和這個等價的寫法是(類似?號表達(dá)式):
expression and truevalue or falsevalue
#或者
(expression and (truevalue,) or (falsevalue,))[0] #感謝snake117提供的建議
#這種是避免truevalue有可能是false的情況,比如空字符串
相關(guān)文章
Python?Math數(shù)學(xué)函數(shù)常數(shù)冪和對數(shù)基礎(chǔ)應(yīng)用實(shí)例
Python中的math模塊是數(shù)學(xué)運(yùn)算的重要工具,提供了豐富的數(shù)學(xué)函數(shù)和常數(shù),本文將深入探討math模塊的功能和用法,使您能夠更好地利用Python進(jìn)行數(shù)學(xué)運(yùn)算2023-12-12numpy存取數(shù)據(jù)(tofile/fromfile)的實(shí)現(xiàn)
本文主要介紹了numpy存取數(shù)據(jù)(tofile/fromfile)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python OpenCV實(shí)現(xiàn)人物動漫化效果
這篇文章主要介紹了利用Python和OpenCV實(shí)現(xiàn)人物的動漫化特效,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python和OpenCV有一定的幫助,需要的可以了解一下2022-01-01Python中導(dǎo)入自定義模塊的幾種方法總結(jié)
這篇文章主要介紹了Python中導(dǎo)入自定義模塊的幾種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01