When
标题:当条件为真时应用函数 类型:代码片段 语言:Python 标签:[函数] 封面:interior-10 修改日期:2020-11-09
测试一个值 x
,根据条件应用一个函数。
- 检查
predicate()
对于x
的值是否为True
,如果是,则调用when_true()
,否则返回x
。
def when(predicate, when_true):
return lambda x: when_true(x) if predicate(x) else x
double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2)
double_even_numbers(2) # 4
double_even_numbers(1) # 1