装饰器的基本使用

Python函数装饰器是一种用于扩展函数功能的方法,它允许在不修改原始函数代码的情况下,为函数添加新的功能。装饰器本质上是一个接受函数作为参数的高阶函数,它返回一个新的函数,这个新函数通常会包含原始函数的功能以及一些额外的操作。

 

下面是一个简单的装饰器示例:

 

```python

def my_decorator(func):

    def wrapper():

        print("在原始函数之前执行的操作")

        func()

        print("在原始函数之后执行的操作")

    return wrapper

 

@my_decorator

def my_function():

    print("这是原始函数")

 

my_function()

```

 

输出结果:

 

```

在原始函数之前执行的操作

这是原始函数

在原始函数之后执行的操作

```

 

在这个例子中,`my_decorator` 是一个装饰器函数,它接受一个函数 `func` 作为参数。`wrapper` 函数是 `my_decorator` 内部定义的一个嵌套函数,它在调用原始函数 `func` 之前和之后分别执行一些操作。最后,`my_decorator` 返回 `wrapper` 函数。

 

使用 `@my_decorator` 语法将 `my_decorator` 应用于 `my_function` 函数。这相当于以下代码:

 

```python

my_function = my_decorator(my_function)

```

 

现在,当我们调用 `my_function()` 时,实际上是在调用 `wrapper()` 函数,从而实现了在原始函数之前和之后执行额外操作的目的。

 

posted @   code星  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示