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这是一个非常好的定义!它有助于清除这个想法。谢谢。 –