如果我们一些函数内部有大量的与业务无关且重复的代码,那么就可以将这些代码抽出形成一个装饰器来使用。装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。装饰器如何写普通装饰器使用@语法糖def debug(func): def wrapper(*args, **kwargs): print "[DEBUG]: enter {}()".format(func.__name__) print 'Prepare and say...', return func(*args, **kwargs) return wrapper # 返回 @debug def say(something): print "hello {}!".format(something) 装饰器中wrapper指定* args, **kwargs参数,就可以...