• 无参装饰器 语法糖


    装饰器的名字:要在被装饰对象正上方单独一行写上

    import time 

      def timmer(func):    #fun=最原始那个home的内存地址

        def  wrapper(*args,**kwargs):

          start=time.time()

          res=fun(*args,**kwrags)

          stop=time.time()

          print('run time is %s' %(stop-start))

          return res

        wrapper.__doc__=func.__doc__

        wrapper.-__name__=func.__name__

        return wrapper

    @timer   #index =timmer(index)  #index=timmer(最原始那个index的内存地址) #index=wraooer函数的内存地址

    def index():

      """   这是index功能    """

      print(‘welcome to index page’)

      time.sleep(3)

      return 123

    home(‘egon’)   #wrapper(‘egon’)

    index() #wrapper()

    print(help(index))

    print(help(home))

    print(index__name__)

    print(index.__name__)

    from functools import wraps

    import time

    def timmer(func):  #func=最原始那个home的地址

      @wraps(func)

      def wrapper(*args,**kwargs)

        start=time.time()

        res=func(*args,**kwargs)

        stop=time.time()

        print('run time is %s' %(stop-start))

        return res

      return wrapper

    @timmer

    def index():

      """  这是index功能   """

      print(‘ welcome to index page’)

      time.sleep(1)

    print(help(index))

    print(index.__name__)

    from functools import wraps

  • 相关阅读:
    bzoj2045: 双亲数&bzoj1101: [POI2007]Zap
    spoj GCDEX
    jQuery Ajax
    jQuery 动画效果
    jQuery 事件处理API
    jQuery 常用getter&setter
    jQuery 文档操作
    jQuery 基础
    Vue2.2.0+新特性整理
    JavaScript中的HTTP
  • 原文地址:https://www.cnblogs.com/frank007/p/9713847.html
Copyright © 2020-2023  润新知