🐶 python 装饰器基本用法

在不修改原函数定义的情况下,有想对原函数的功能进行加强,在python中可以通过装饰器语法🍬对原函数功能进行增强。以下通过两个案例来说明其用法。

1 . 利用装饰器实现对函数运行时间的统计

import time
def time_it(fun):
  def wrapper(*args,**kwargs):
    start = time.time()
    result = fun(*args,**kwargs)
    end = time.time()
    print(f'{fun.__name__} excute cost {end-start}')
    return result
  return wrapper

使用方法:

 @time_it
 def add(a,b):
    return a + b
  1. 实现一个带参数的装饰器
def get_wrapper_params(*k, **a):
    def outer_wrapper(fun):
        print(f'*k={k}')
        print(f'**a={a}')

        def inner_wrapper(*args, **kwargs):
            res = fun(*args, **kwargs)
            return res

        return inner_wrapper
    return outer_wrapper

使用方法:

@get_wrapper_params(1, 2, operate='+')
def sum_(a, b):
    return a + b
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容