Python_装饰器

【是什么】

不改变原函数的情况下,在函数前后增加一些内容  即装饰器。如计算函数的运行时间

装饰器的主要结构

def 外层函数(参数):
    def 内层函数(*arg, **kwargs):
        return 参数(*arg, **kwargs)
    return 内层函数

装饰器的使用

@装饰器外层函数名
def 被装饰的函数名():
    函数内容

@装饰器名称  两个作用

1. 将下面的函数当做参数传入装饰器函数中
2. 将装饰器函数的返回值重新复制给下面的函数

示例

复制代码
def func(fun):
    def inner():
        print('before')
        v = fun()
        print('after')
        return v
    return inner
@func
def fun1():
    print(123)
复制代码

执行 fun1 其实是执行了装饰器内部的inner函数,inner函数内部包含了fun1函数,同时在fun1函数前后增加了需要的内容

 

 当遇到多函数需要执行相同操作时,可以考虑装饰器,能够不改变函数自身,同时增加需要的内容,后期也方便维护

 

posted on   wangxiaobei2019  阅读(205)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示