位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > Python > 問(wèn)題詳情

python應(yīng)用操作——使用三元操作符來(lái)進(jìn)行條件賦值

提問(wèn)人:ylm發(fā)布時(shí)間:2020-09-29

三元操作符是 if-else 語(yǔ)句也就是條件操作符的一個(gè)快捷方式:

[表達(dá)式為真的返回值] if [表達(dá)式] else [表達(dá)式為假的返回值]

這里給出幾個(gè)你可以用來(lái)使代碼緊湊簡(jiǎn)潔的例子。下面的語(yǔ)句是說(shuō)如果 y 9,給 x 賦值 10,不然賦值為 20”。如果需要的話我們也可以延長(zhǎng)這條操作鏈。

x = 10 if (y == 9) else 20

同樣地,我們可以對(duì)類做這種操作:

x = (classA if y == 1 else classB)(param1, param2)

在上面的例子里 classA 與 classB 是兩個(gè)類,其中一個(gè)類的構(gòu)造函數(shù)會(huì)被調(diào)用.

下面是另一個(gè)多個(gè)條件表達(dá)式鏈接起來(lái)用以計(jì)算最小值的例子:

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]

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部