Python的三元操作

    我寫程序很喜歡用三元運算符,但是在python中居然不支持,有點鬱悶,查了下資料,發現還是有解決方案的。


    比如,一個這樣的函數:

function trans(v) {
		return (v==0)?1:v;
	}

    嘖嘖,三元運算符看着就是漂亮,不知道python爲什麼不支持。


   下面看一下python的解決方案一:

def trans(v):
		return 1 if v==0 else v
 

    也就是if else語句的簡寫形式,意思一看就明白,看起來還不錯。   

   

   下面是解決方案二:

def trans(v):
		return v==0 and 1 or v

     用到了與或運算符的特性。


    解釋一下:如果v等於0爲true,則跟1做與運算,爲true,則不進行後面的或運算,直接返回1;如果v等於0爲false,則跟1做與運算,爲false,繼續進行或運算,返回v。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章