python應(yīng)用操作——使用三元操作符來進(jìn)行條件賦值
三元操作符是 if-else 語句也就是條件操作符的一個快捷方式:
[表達(dá)式為真的返回值] if [表達(dá)式] else [表達(dá)式為假的返回值]
這里給出幾個你可以用來使代碼緊湊簡潔的例子。下面的語句是說“如果 y 是 9,給 x 賦值 10,不然賦值為 20”。如果需要的話我們也可以延長這條操作鏈。
x = 10 if (y == 9) else 20
同樣地,我們可以對類做這種操作:
x = (classA if y == 1 else classB)(param1, param2)
在上面的例子里 classA 與 classB 是兩個類,其中一個類的構(gòu)造函數(shù)會被調(diào)用.
下面是另一個多個條件表達(dá)式鏈接起來用以計算最小值的例子:
In [10]: def small(a,b,c):
...: return a if a<=b and a<=c else ( b if b<=a and b<=c else c)
...:
In [11]: small(1,0,1)Out[11]: 0
In [12]: small(1,2,3)Out[12]: 1
我們甚至可以在列表推導(dǎo)中使用三元運(yùn)算符:
In [14]: [ m**2 if m > 10 else m**4 for m in range(20) ]
Out[14]:
[0,1,16,81,256,625,1296,2401,4096,6561,10000,121,144,169,196,225,256,289,324,61]
點(diǎn)擊加載更多評論>>