Python 编程中的函数式与面向对象编程范式
函数式编程基础
匿名函数与高阶函数
在 Python 中,我们可以使用匿名的 lambda 函数来简化代码。例如,使用 repeat_fn
函数重复调用 say_hi
函数输出问候语,我们可以用 lambda 函数改写:
def repeat_fn(fn, times):
for _ in range(times):
fn()
repeat_fn(lambda: print("Hello!"), 5)
上述代码运行后会输出 5 次 “Hello!”。这种方式避免了定义一个命名函数来打印消息。
同时,函数还可以作为返回值。比如,我们可以定义一个 make_contains_validator
函数,它接受一个序列作为参数,并返回一个用于验证字符串是否包含该序列的函数:
def make_contains_validator(sequence):
return lambda string: sequence in string
validate_contains_at = make_contains_validator('@')
print(validate_contains_at('foo@bar.com')) # 输出: True
print(validate_contains_at('not this