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