美文网首页
无标题文章

无标题文章

作者: 不浪漫的浪漫_ea03 | 来源:发表于2017-06-10 11:57 被阅读0次

    修饰器

    在类里面写好的代码,如果想进行修改九尾违背编程的定义,python所以需要定义一个闭包,通过@的方法进行调用即可

    修饰器写法

    def  xx(aa):

    def demo():

    print(‘aaaaaaaaa’)

    aa()

    print(‘........’)

    return  demo

    @xx

    def num():相当于(num=xx(demo))    aa()=num()

    print(‘,,,,,,,,,,’)

    输出结果为

    aaaaaaa

    ..........

    ,,,,,,,,

    装饰器(decorator)功能

    1.引入日志

    2.函数执行时间统计

    3.执行函数前预备处理

    4.执行函数后清理功能

    5.权限校验等场景

    6.缓存

    修饰器里面有不定长参数

    def  xx(aa):

    def demo(*args,**kwargs):

    print(‘aaaaaaaaa’)

    return aa(*args,**kwargs)

    print(‘........’)

    return  demo

    def num(*args,**kwargs):

    return a+b

    这里需要给类参数,可以用*args,**kwargs赋值

    修饰器中的return

    在修饰器中是不返回值的,所以需要加入return来返回的得到的值,否则直接打印的话就是空

    在@的函数里也需要添加返回值,然后在逻辑函数里面在添加一个return即可

    添加的知识点

    __call__这个命令是直接就可以调用对象函数,后面可以加参数

    l��cx|�

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/kriqqxtx.html