首页 > 技术文章 > python 装饰器

anloveslife 2017-09-15 17:24 原文

python装饰器用于后期向函数添加功能。而不改变代码

装饰器传入的参数是func

decorator就是一个返回函数的高阶函数

为了原函数不受影响def 内部要加def 一个wrapper,而  decorator 需要参数(text)就在外部加def一个函数

 

 1 import functools
 2 
 3 def log(text):
 4     def decorator(func):
 5         @functools.wraps(func)
 6         def wrapper(*args, **kw):
 7             print('%s %s():' % (text, func.__name__))
 8             return func(*args, **kw)
 9         return wrapper
10     return decorator

functools  是模块,为了用@functools.wraps命令。在最后一层包装的上边。目的为了return的func._name_  是修饰的func而不是wrapper

@功能是     

@log

def now()

 

now= log(now)

推荐阅读