python實(shí)現(xiàn)問(wèn)號(hào)表達(dá)式(?)的方法
python中的and和or和其它語(yǔ)言的區(qū)別很大
其它語(yǔ)言中的and和or都是返回bool類型的結(jié)果,python不是。它返回的是做and和or運(yùn)算的其中一個(gè)值。
那個(gè)值決定了這個(gè)表達(dá)式的值,就返回那個(gè)值。
>> 5 and ''
這里結(jié)果是'', 空字符串, 因?yàn)槭撬鼘?dǎo)致了這個(gè)表達(dá)式為false.
也就是所在and中,只有前面一個(gè)值是false的時(shí)候,才有可能成為結(jié)果。否則就是后面的值為結(jié)果。
了解了and和or運(yùn)行的過(guò)程,那么就可以實(shí)現(xiàn)?表達(dá)式了:
if (expression):
return truevalue
else:
return falsevalue
和這個(gè)等價(jià)的寫(xiě)法是(類似?號(hào)表達(dá)式):
expression and truevalue or falsevalue
#或者
(expression and (truevalue,) or (falsevalue,))[0] #感謝snake117提供的建議
#這種是避免truevalue有可能是false的情況,比如空字符串
相關(guān)文章
Python?Math數(shù)學(xué)函數(shù)常數(shù)冪和對(duì)數(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-12利用Python繪制端午節(jié)祝福動(dòng)畫(huà)
這篇文章主要介紹了如何利用Python繪制一個(gè)端午節(jié)的祝福動(dòng)畫(huà),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2023-06-06numpy存取數(shù)據(jù)(tofile/fromfile)的實(shí)現(xiàn)
本文主要介紹了numpy存取數(shù)據(jù)(tofile/fromfile)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python OpenCV實(shí)現(xiàn)人物動(dòng)漫化效果
這篇文章主要介紹了利用Python和OpenCV實(shí)現(xiàn)人物的動(dòng)漫化特效,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python和OpenCV有一定的幫助,需要的可以了解一下2022-01-01python 如何執(zhí)行控制臺(tái)命令與操作剪切板
這篇文章主要介紹了python 如何執(zhí)行控制臺(tái)命令與操作剪切板,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python中導(dǎo)入自定義模塊的幾種方法總結(jié)
這篇文章主要介紹了Python中導(dǎo)入自定義模塊的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01