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

    有参函数

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

      

  • 相关阅读:
    JS和C#对Json的操作
    JS图形化插件利器组件系列 —— Gojs组件
    Android APK反编译 apktool使用教程
    UML系列图
    多线程学习 ---- 系列教程
    大型网站架构之系列
    经典算法题锦集
    基本算法系列15天速成
    居转户--相关信息
    使用C#创建Windows服务
  • 原文地址:https://www.cnblogs.com/lg04551/p/8669999.html
Copyright © 2011-2022 走看看