首页 > 编程语言 > 详细

Python -- 装饰器

时间:2015-10-22 00:03:23      阅读:296      评论:0      收藏:0      [点我收藏+]

在代码运行期间动态增加函数功能的方式,称之为“装饰器”(Decorator)。

 

def log(func):
    def wrapper(*args, **kw):
        print call %s(): % func.__name__
        return func(*args, **kw)
    return wrapper

@log
def now():
    print 2013-12-25
def log(text):    #带参数版装饰器
    def decorator(func):
        def wrapper(*args, **kw):
            print %s %s(): % (text, func.__name__)
            return func(*args, **kw)
        return wrapper
    return decorator

 

 

 

完整版

import functools

def log(func):
    @functools.wraps(func)
    def wrapper(*args, **kw):
        print call %s(): % func.__name__
        return func(*args, **kw)
    return wrapper

#functools的作用:把原始函数的__name__等属性复制到wrapper()函数中

 

Python -- 装饰器

原文:http://www.cnblogs.com/roronoa-sqd/p/4899284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!