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

    有参函数

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

      

  • 相关阅读:
    选择学习Web前端开发的理由
    在Nginx下部署SSL证书并重定向至HTTPS
    使用pm2快速将项目部署到远程服务器
    DNS域名解析过程
    HTML5新特性总结
    基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块
    react中使用css的7种方式
    原生JS实现滑动轮播图
    H5与企业微信jssdk集成
    img图片不存在显示默认图
  • 原文地址:https://www.cnblogs.com/lg04551/p/8669999.html
Copyright © 2011-2022 走看看