zoukankan      html  css  js  c++  java
  • 装饰器的语法糖

    # _*_ coding: utf-8 _*_

    # 装饰器的语法糖

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

    import time
    # 引用time内置函数

    def timmer(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

    #(new)index = timmer((旧)index的内存地址 = func)
    # index的内存地址 = func
    @timmer
    def index():
    print('Welcome to index page')
    time.sleep(1)

    @timmer#home = timmer(home)
    def home(name):
    print('welcome %s to home page' %name)
    time.sleep(1)
    return 888

    index()
    res = home('oOC')
    print(res)

    ####无参装饰器模版####
    def outter(func):
    def wrapper(*args,**kwargs):
    #在调用函数前加功能
    res=func(*args,**kwargs) #调用被装饰的也就是最原始的那个函数
    #在调用函数后加功能
    return res
    return wrapper


    # ////////////////////////////////////////////////////

    @outter #index=outter(index) #index=wrapper
    def index():
    print('welcome to index page')
    time.sleep(3)

    index()

  • 相关阅读:
    CentOS7安装MySql5.7
    环境变量配置
    Spring 注解
    MySQL
    常用命令
    Android Studio & IntelliJ IDEA常见问题与设置
    order by、group by、having的区别
    把WebStrom添加到右键菜单
    解决github访问速度慢的问题
    docker修改时区
  • 原文地址:https://www.cnblogs.com/OutOfControl/p/9714826.html
Copyright © 2011-2022 走看看