装饰器进阶

原则:开放封闭原则

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

装饰器的本质:闭包函数

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)

原文地址:https://www.cnblogs.com/648071634com/p/11655738.html