【python】装饰器 Decorator wrapper

装饰器

在代码运行期间动态增加功能的方式,称之为装饰器Decorator)。本质上,decorator就是一个返回函数的高阶函数。关键字wrapper

</pre><pre name="code" class="python">>>>def now():
       print ('2014-12-10')
#定义装饰器
>>>def log(func):
       @functools.wraps(func)  #防止函数的名字被改变
       def wrapper(*s,**kw):
              print('call %s()'%func.__name__)
              return func(*s,**kw)
       return wrapper
>>>@log
defmmm(x,y):
       print(x+y)
 
#调用装饰器
>>>mmm
<functionmmm at 0x02C44660>
>>>mmm.__name__
'mmm'
>>>now.__name__
'wapper'
>>>@log
defnow(x,y):
       print('d')
 
      
>>>now(1,4)
callnow()
d







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