装饰器进阶

Posted 648071634com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器进阶相关的知识,希望对你有一定的参考价值。

原则:开放封闭原则

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

装饰器的本质:闭包函数

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-5装饰器进阶_带参数的装饰器多个装饰器装饰同一个函数

Python进阶----装饰器

测开之函数进阶篇・第七篇《装饰器》

进阶Python:装饰器 全面详解

12.前方高能-装饰器进阶

函数进阶(装饰器)