韦奇_计数器函数

计数器函数代码

# -*- coding: utf-8 -*-

'''编写方法调用装饰器'''
def func(func):
    count = 0
    def inter(*args,**kwargs):
        # nonlocal 可改变外函数
        nonlocal count
        count += 1
        resp = func(*args,**kwargs)
        print(f'shows方法已经被调用{count}次')
        return resp
    return inter

'''编写被调用方法'''
@func
def shows(*args,**kwargs):
    return '被调函数返回' + str(args[0])


if __name__ == '__main__':
    '''执行函数,返回装饰器print值 和 函数return值'''
    print(shows('first'))
    print(shows('second'))