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

    原则:开放封闭原则

    装饰器:在不改变原函数调用的情况下,对函数前后进行修改

    装饰器的本质:闭包函数

    def wrapper(f):

      def inner(f):

        print("在装饰之前做的事")

        ret=f(*arg,**karg)

        print("在装饰之后做的事")

        return rets

      return  inner

    def  holiday():

      print("放假%s天"%好开心)

    ret=holiday(3)

    print(ret)

    多个函数共同调用一个装成器,三层装饰器

    import time

    Flag=Ture

    Flag=False

    def Flage_outer(flag):#用于判断

      def outer(f):

        def inner(*args):

          if flag=Ture:

            star=time.time()

            ret=f(*args)

            end=time.time()

            return ret

          else:

            ret=f(*args)

            return ret     

          return inter

        return outer  

    def holiday(day):

      time.sleep(1)#函数休息一秒再执行

      print("放假%s天"%day)

      return "好开心"

    def My_holiday(day):

      print("你今天真好看"):

    @Flage_outer(Flag)

    #outer=Flage_outer(flag)

    #My_holiday=outer(holiday)

    ret=holiday(3)

    print(ret)

  • 相关阅读:
    10.浮动样式
    09.圆角样式及渐变色样式
    08.背景样式
    Oracle中dual表的用途介绍
    PL/SQL包
    Oracle表数据和表结构对比
    oracle如何判断某张表是否存在
    awk编程基础
    Oracle左连接、右连接、全外连接以及(+)号用法
    SpringMVC的三种处理器适配器
  • 原文地址:https://www.cnblogs.com/648071634com/p/11655738.html
Copyright © 2011-2022 走看看