暂时还没学到类,现在有个需求
我在a.py中写了一个装饰器@login,b.py中定义了个函数func()
我在a中怎么用装饰器去装饰这个func()呢
import types def deco(*args): def _deco(func): def __deco(): print("before %s called [%s]." % (func.__name__, args)) func() print(" after %s called [%s]." % (func.__name__, args)) return __deco # 当直接使用 @deco 定义的时候第一个参数为函数 if len(args) == 1 and type(args[0]) is types.FunctionType: return _deco(args[0]) return _deco def bfunc(func): print("before login() called.") func() print(" after login() called.") return func @deco def login(): print(" login() called.") login() login()
http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html 装饰器的各种玩法
前不久整理的装饰器的随笔,希望对您有帮助:http://www.cnblogs.com/0bug/p/7978595.html