# # !/usr/bin/env python3 # # -*- coding:utf8 -*- import functools def log(func): def require_func(func): """ 将传入的函数做关包 """ @functools.wraps(func) def wrapper(*args, **kw): print('\n\ntest %s:'%(func.__name__)) return func(*args, **kw) return wrapper """ 如果传入log的是函数类型,将它做闭包 """ @functools.wraps(func) def wrapper_func(*args,**kw): print('\n\ntest %s:'%(func.__name__)) return func(*args,**kw) if type(func)==str: # 判断log得到的参数类型 return require_func else: return wrapper_func @log('exe') def A(a): print('A(%s)运行完毕' %a) @log def B(a): print('B(%s)运行完毕' %a) A(1) B(2)
Sign in to make a reply
表面不约谁信