源代碼 1:
if x > 0:
y = math.log(x)
else:
y = float('nan')
源代碼 1 的條件表達(dá)式:
y = math.log(x) if x > 0 else float('nan')
源代碼 2:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
源代碼 2 的條件表達(dá)式:
def factorial(n):
return 1 if n == 0 else n * factorial(n - 1)
條件表達(dá)式的另一個(gè)用途是處理可選參數(shù)咒林。例如:
def __init__(self, name, contents=None):
self.name = name
if contents == None:
contents = []
self.pouch_contents = contents
對(duì)應(yīng)的條件表達(dá)式方式為:
def __init__(self, name, contents=None):
self.name = name
self.pouch_contents = [] if contents == None else contents