0
点赞
收藏
分享

微信扫一扫

python函数使用装饰器

文风起武 2022-05-01 阅读 57
def wrapper(f):  # 装饰器函数,f是被装饰的函数
    def inner(*args, **kwargs):
        '''在被装饰函数之前要做的事'''
        print(args)
        ret = f(*args, **kwargs)  # 被装饰的函数
        print(kwargs)
        '''在被装饰函数之后要做的事'''
        return ret
    return inner
def fun(a,b,c,k,m):
    return a+1
print(wrapper(fun)(2,6,9,m=6,k=1))

输出:

(2, 6, 9)
{'m': 6, 'k': 1}
3

使用符号简化表达,进行自动封装:

def wrapper(f):  # 装饰器函数,f是被装饰的函数
    def inner(*args, **kwargs):
        '''在被装饰函数之前要做的事'''
        print(args)
        ret = f(*args, **kwargs)  # 被装饰的函数
        print(kwargs)
        '''在被装饰函数之后要做的事'''
        return ret
    return inner

@wrapper
def fun(a,b,c,k,m):
    return a+1
print(fun(2,6,9,m=6,k=1))

输出为:

(2, 6, 9)
{'m': 6, 'k': 1}
3
举报

相关推荐

0 条评论