闭包和装饰器是 Python 中的高级特性,它们在函数式编程和模块化设计中扮演着重要角色。以下是一些关于闭包和装饰器的介绍。

闭包

闭包是一种特殊的函数,它能够记住并访问其创建时的作用域中的变量。即使这些变量在函数创建后被删除,闭包仍然可以访问它们。

闭包的例子

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

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

装饰器

装饰器是 Python 中用于修改函数或方法行为的工具。它们通常用于日志记录、计时、权限校验等。

装饰器的例子

def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")
        func()
        print("Something is happening after the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()

Python 装饰器示例

扩展阅读

想要了解更多关于闭包和装饰器的知识,可以阅读本站的《深入理解Python装饰器》教程。

希望这些内容能帮助您更好地理解 Python 中的闭包和装饰器。