Python 函数是组织代码、提高代码复用性的重要方式。本文将介绍一些 Python 中的高级函数。

闭包 (Closures)

闭包是一种特殊的函数,它可以访问并操作自由变量,即使这些变量在函数外部。

def make_multiplier_of(n):
    def multiplier(x):
        return x * n
    return multiplier

my_multiplier = make_multiplier_of(5)
print(my_multiplier(10))  # 输出: 50

生成器 (Generators)

生成器是一种特殊的迭代器,它允许按需产生数据项,而不是一次性生成整个数据集。

def generate_numbers(n):
    for i in range(1, n + 1):
        yield i

for number in generate_numbers(5):
    print(number)

柔性装饰器 (Flexible Decorators)

装饰器是一种用于修改函数行为的工具。以下是创建一个可以接收额外参数的装饰器的示例:

def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("Something is happening before the function is called.")
        result = func(*args, **kwargs)
        print("Something is happening after the function is called.")
        return result
    return wrapper

@my_decorator
def say_hello(name):
    return f"Hello, {name}"

say_hello("Alice")

扩展阅读

Python 编程