码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器进阶

时间:2019-10-11 18:42:57      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:调用   rap   wrapper   原函数   import   本质   als   print   wrap   

原则:开放封闭原则

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

装饰器的本质:闭包函数

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)

装饰器进阶

标签:调用   rap   wrapper   原函数   import   本质   als   print   wrap   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!