Discuss / Python / 最后小结

最后小结

Topic source
# # !/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)


  • 1

Reply