首页 > 其他 > 详细

理解调用@log与@log()效果一致的原因

时间:2019-03-26 21:15:30      阅读:137      评论:0      收藏:0      [点我收藏+]

django 框架中自定义标签在注册时使用装饰器的过程中使用@register.simple_tag与@register.simple_tag()结果一致的解释

‘‘‘
理解调用@log与@log()效果一致的原因
‘‘‘
def log(func=None):
    def wraper(fun):
        def inner(*args,**kwargs):
            print(do something before)
            res = fun(*args,**kwargs)
            print(do something after)
            return res
        return inner

    if func is None:
        return wraper
    elif callable(func):
        return wraper(func)

@log
def my_func():
    print(i am my_func)

if __name__ == __main__:
    my_func()

#my_func = log(func)
#my_func = log()(func)

 

理解调用@log与@log()效果一致的原因

原文:https://www.cnblogs.com/taoge188/p/10603488.html

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