Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码可以构造一个函数,在其入参满足条件函数的情况下,对其应用指定函数。
本篇阅读的代码片段来自于30-seconds-of-python。
when
def when(predicate, when_true):
return lambda x: when_true(x) if predicate(x) else x
# EXAMPLES
double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2)
print(double_even_numbers(2)) # 4
print(double_even_numbers(1)) # 1
when
函数接收一个谓词判断函数和一个应用函数,返回一个新的函数。新的函数使用判断函数检测入参,满足条件的情况下,调用应用函数。
函数使用lambda
表达式返回一个新的函数。该匿名函数接收参数x
,如果通过predicate(x)
的判断,则返回调用when_true(x)
的结果;如果不通过,则直接返回x
。
示例中,使用lambda x: x % 2 == 0
作为判断函数,该函数接收一个参数x
,返回x % 2 == 0
。即如果x
是偶数,返回True
;如果x
是奇数,返回False
。
使用lambda x : x * 2
最为应用函数。该函数接收一个参数x
,并将其乘以2
。
网友评论