zoukankan      html  css  js  c++  java
  • day11装饰器

    装饰器

    器指工具,装饰指的是被装饰对象添加功能

    开放封闭原则

    软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的也就是说我们必须找到一种解决方案:

       能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能

      总结:

      原则:1、不修改源代码

         2、不修改调用方式

      目的:

        在遵循1和2原则的基础上扩展新功能

    装饰器即在不修改被装饰对象源代码与调用方式的前提下,为被装饰器对象添加新功能

    装饰器与被装饰的对象均可以是任意可调用的对象

    装饰器——》函数

    被装饰的对象——》函数

    import time

    def index():

      time.sleep(1)

      print('welcome to index page')

    def outter(func)

      def wrapper():

        start_time=time.time()

        func()

        stop_time=time.time()

        print(stop_time-start_time)

      return wrapper

    index=outer(index)

    index()

    时间

    import time

    def timmer(func):

      def wrapper(*arges,**kwargs):

         start_time=time.time()

         res=func(*args,**kwargs)

         stop_time=time.time()

         print(stop_time-start-time)

         return res

      return wrapper

    @timmer   @是执行该下面的函数名 index=outter(index)由上往下执行的

    def index():

      time.sleep(1)

      print('welcome to index page')

      return122

    有参函数

    三层,就是在无参外面还在包一层,提供定义的参数给函数体里调用

      

  • 相关阅读:
    Redis下载和安装
    Redis的Docker镜像
    Hadoop docs
    Hadoop On Demand
    Hadoop Archives
    web.xml中 error-page的正确用法
    zepto.js + iscroll.js上拉加载 下拉加载的 移动端 新闻列表页面
    SVN上传文件注意事项-------------------养成良好的项目文件上传习惯
    在MyEclipse中搭建Spring MVC开发环境
    史上最全最强SpringMVC详细示例实战教程
  • 原文地址:https://www.cnblogs.com/lg04551/p/8669999.html
Copyright © 2011-2022 走看看