python装饰器

装饰器是语言的一个很好的特性,相当于在不改变原有方法的基础上,去动态的修改方法新增一些功能等。类似于ios的category


不传入参数的 decorator的写法如下

importfunctools

def log(func):

        @functools.wraps(func)

                    def  wrapper(*args, **kw):

                                print'call %s():'% func.__name__

                    returnfunc(*args, **kw)

         returnwrapper


针对带参数的decorator:

importfunctools

    def  log(text):

                def  decorator(func):

                            @functools.wraps(func)

                                def  wrapper(*args, **kw):

                                                print'%s %s():'% (text, func.__name__)

                                                returnfunc(*args, **kw)

                                return  wrapper

                   return  decorator

链接:https://www.liaoxuefeng.com/wiki/897692888725344/923030163290656


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、装饰器的基本使用 在不改变函数源代码的前提下,给函数添加新的功能,这时就需要用到“装饰器”。 0.开放封闭原则...
    NJingZYuan阅读 607评论 0 0
  • Python装饰器分两种情况:1.如果decorator本身不用传入参数的话,只是接受一个函数(当然也可以把接受的...
    feng_Zi阅读 250评论 0 0
  • 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,...
    chen_000阅读 1,403评论 0 3
  • 一. 有时候我们会有这样需求: 在原有的逻辑前后添加一段逻辑 如: 在增/删/改操作之前检查用户是否登录、某个操...
    元亨利贞o阅读 713评论 1 4
  • 不知道过了多久,我迷迷糊糊地醒来, 发现自己躺在一辆车里面, 鼻子里闻到一股来苏水的味道。 等我彻底清醒之后,发现...
    严倾Mason阅读 394评论 0 4

友情链接更多精彩内容