Think Python,第二版,作者將條件表達式定義爲」根據條件,具有兩個值之一的表達式「。但是我反映了它之後,我一直認爲定義的準確性可能是值得懷疑。下面是其使用條件表達式編寫的函數:是「根據條件具有兩個值中的一個的表達式」。條件表達式的精確定義? 「
def get_sign(n):
"""Returns 1 if n is a positive number, -1 if n is a negative number,
or 0 if n is a zero
"""
return 1 if n > 0 else -1 if n < 0 else 0
這裏條件表達式爲1 if n > 0 else -1 if n < 0 else 0
。大概還有兩個意見:
表達有可能值之一,即
1
,-1
,或0
。該值取決於兩個條件,即
n > 0
和n < 0
。
那麼,作者的定義是否準確,爲什麼?爲什麼不呢?是「一個表達式,其值取決於一個或多個條件,並且具有多個值之一(至少兩個)。」更準確的定義條件表達式,爲什麼和爲什麼不呢?
對於每個條件表達式,只有2個結果。恰恰是第一個表達式的結果之一是另一個條件表達式。 – Carcigenicate
根據條件評估兩個子域中的一個子域的表達式。 –
@StevenRumbalski這是一個非常好的定義!它有助於清除這個想法。謝謝。 –