学习Python:装饰器

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 04:53   70   0

应用场景:已经有一些现存稳定运行的函数,现在你需要加调试信息、运行时间或其他调试参数,这时不能去动已经稳定的函数,可以将函数名作为参数传到一个装饰器中,在该运行函数前后添加所需的代码。

import time

def timer(func):
    def wrapper(*args, **kw):
        start = time.time()
        func()
        end = time.time()
        used = end - start
        print(f'{func.__name__} used {used}')
    return wrapper

@timer
def step1():
    print('step1...')

@timer
def step2():
    print('step2...')

@timer
def step3():
    print('step3...')

step1()

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP