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)

  • 相关阅读:
    How to use my view helpers in my ActionMailer views?
    大败笔,状态机
    把程序进行上线部署调试了,
    支付接口心得
    rails3 正则路由
    linux下配置Mysql远程访问,不受ip限制
    ActionController::InvalidAuthenticityToken解决办法
    支付宝接口错误
    DHTML 中的绝对定位
    部署备份
  • 原文地址:https://www.cnblogs.com/648071634com/p/11655738.html
Copyright © 2011-2022 走看看