• 2019.04.07 装饰器介绍


    文章来自网易云课堂

    装饰器实际上就是一个函数,所有要先定义这个函数

    然后里面还有一个函数,记得返回这个函数

    当做了这个功能装饰器之后,就可以想在某个函数中添加一些想要的功能了

    而并没有修改原先函数的基础上给这个函数增加了一些功能

    比如当自己已经写完了一个项目,然后想在这个项目中的函数中都添加hello world

    有两个特别之处:

      参数是一个函数

      返回值是一个函数

    #在打印run之前,先要打印一个hello world

    #在所有的函数执行之前,都要打印一个 hello world

    #装饰器使用时通过@符号,放在函数的上面

    #装饰器中定义的函数,要使用*args,**kwargs两对兄弟的组合,并且原始函数执行的时候也要放进去

    #需要使用functools.wraps在装饰器中的函数上把传进来的这个函数进行包裹,这样就不会丢失原来的函数的__name__等属性。

    def zhuanshiqi(func):

      @wraps

      def _wrapper(*args,**kwargs)

        print('hello world')

           response  = func(*args,**kwargs)    run函数有返回值得话要接受的

        return response

      return _wrapper

    @zhuangshiqi

    def run():

      pass

    @zhuangshiqi: run =  zhuangshiqi(run)= _wrapper

    run.__name__  是wrapper  

    from functools import wraps

  • 相关阅读:
    根据dateFormatter创建NSDate类型数据
    centos6.5下oracle自动备份删除指定天数的文件
    svg-edit和svg中的自定义属性
    vc读取当前路径和读取配置ini文件
    powerdesiner技巧
    oracle理解和导入导出
    highstock无图像
    winform中datagridview刷新后的排序记忆
    freemarker取数
    winform clickonce在线安装
  • 原文地址:https://www.cnblogs.com/Py-king/p/10664934.html
Copyright © 2020-2023  润新知