资讯动态

【Python面试题收录】什么是装饰器,怎么使用它?

发布时间:2026/10/13 1:40:24 来源:尧图企业网站定制
Python装饰器是一种非常实用的高级功能它允许用户在不修改原始函数代码的情况下给函数添加额外的功能。装饰器本质上是一个接受函数作为参数的函数它返回一个新的函数这个新函数通常会在执行原始函数之前或之后增加一些额外的操作。在Python中装饰器使用符号进行定义。本质是一个闭包函数。装饰器的功能特点不修改已有的函数的源代码不修改已有函数的调用方式给已有函数增加额外的功能一、如何定义装饰器1基本语法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时实际上是调用了装饰器返回的新函数wrapper say_hello()2带参数的装饰器带有参数的装饰器就是使用装饰器装饰函数的时候可以传入指定的参数语法格式如下代码所示。装饰器只能接收一个参数并且还是函数类型。在装饰器外面再包裹一个函数让最外面的函数接收参数返回的是装饰器。def repeat(n): def decorator(func): def wrapper(*args, **kwargs): for _ in range(n): result func(*args, **kwargs) return result return wrapper return decorator repeat(3) def greet(name): print(fHello, {name}!) greet(Alice)二、装饰器的应用场景日志记录: 装饰器可用于记录函数的调用信息、参数和返回值。性能分析: 可以使用装饰器来测量函数的执行时间。权限控制: 装饰器可用于限制对某些函数的访问权限。缓存: 装饰器可用于实现函数结果的缓存以提高性能。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑