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

    ---恢复内容开始---

    1.开放封闭原则

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

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

     归纳两个原则如下:
    1.不修改源代码
    2不修改调用方式

    2、什么是装饰器

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

    完整的含义:

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

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

    装饰器==>函数

    被装饰的对象==>函数

    3.无参装饰器

    (模板)

    def outer(func):
         def inner(*args,**kwargs):
         res=func(*args,**kwargs)
         return res
    return inner

    ==============装饰器
    def timmer(func):
    #func=最原始的home
         def wrapper(*args,**kwargs):
               start_time=time.time()
               res=func(*args,**kwargs) #调用最原始的home
               stop_time=time.time()
               print(stop_time-start_time)
               return res
         return wrapper


    index=timmer(index) # 新的index=wrapper
    home=timmer(home) #新的home=wrapper
     ==========================================

    res=index() #res=wrapper()
    print(res)

    ---恢复内容结束---

  • 相关阅读:
    宏任务、微任务
    类和模块
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/shengg/p/8670656.html
Copyright © 2011-2022 走看看