装饰器函数打印其装饰函数名称。

from functools import wraps
def wrapper(func):
    @wraps(func)  #使用本条命令可以让func函数返回其本身的函数名等。
    def inner(*args,**kwargs):
            print('decoration function start')
            ret = func(*args,**kwargs)
            print('decoration function end')
            return ret

    return inner



@wrapper
def func(*args,**kwargs):
    print('this is a test')
    return()
func('ok')
print(func.__name__)

你可能感兴趣的:(python装饰器)