zoukankan      html  css  js  c++  java
  • python学习之老男孩python全栈第九期_day011知识点总结

    # 装饰器的形成的过程:最简单的装饰器;有返回值的;有一个参数的;万能参数
    # 装饰器的作用
    # 原则:开放封闭原则
    # 语法糖
    # 装饰器的固定模式:
    # def wrapper(f): # 装饰器函数,f是被装饰的函数
    # def inner(*args,**kwargs):
    # '''在被装饰函数之前要做的事'''
    # res = f(*args,**kwargs) # 被装饰的函数
    # '''在被装饰函数之后要做的事'''
    # return res
    # return inner

    import time
    # print(time.time()) # 获取当前时间
    # time.sleep(5) # 让程序在执行到这个位置的时候停一会

    # def func():
    # '''
    # 计算程序运行所用时间
    # :return: 程序运行时间
    # '''
    # start = time.time()
    # print('老板好,同事好,大家好')
    # time.sleep(0.01)
    # end = time.time()
    # print(end - start)
    # func()

    # def timer(f): # 专门写一个函数,计算函数执行时间
    # start = time.time()
    # f()
    # end = time.time()
    # print(end - start)
    # def func():
    # time.sleep(0.01)
    # print('老板好,同事好,大家好')
    # timer(func)


    # def timer(f): # 装饰器函数
    # def inner():
    # start = time.time()
    # res = f() # 被装饰的函数
    # end = time.time()
    # print(end - start)
    # return res
    # return inner
    # @timer # 等于func = timer(func) 语法糖, @装饰器函数名,紧跟被装饰的函数
    # def func(): # 被装饰的函数
    # time.sleep(0.01)
    # print('老板好,同事好,大家好')
    # return '新年好'
    # # func = timer(func)
    # res = func()
    # print(res)

    # 装饰器的作用:不想修改函数的调用方式, 但是还想在原来的函数前后添加功能
    # timer就是一个装饰器函数,只是对一个函数 有一些装饰作用

    # 原则:开放封闭原则
    # 开放:对扩展是开放的
    # 封闭:读修改是封闭的

    #
    # def outer():
    # def inner():
    # return 'inner'
    # inner()
    # outer()
    #----------------------------------------------------------------------------------------------------------------

    # 装饰带参数函数的装饰器
    # def timer(f): # 装饰器函数
    # def inner(*args,**kwargs):
    # start = time.time()
    # res = f(*args,**kwargs) # 被装饰的函数
    # end = time.time()
    # print(end - start)
    # return res
    # return inner
    # @timer # 等于func = timer(func) 语法糖, @装饰器函数名,紧跟被装饰的函数
    # def func(a,b): # 被装饰的函数
    # time.sleep(0.01)
    # print('老板好,同事好,大家好',a,b)
    # return '新年好'
    #
    # @timer
    # def func1(a): # 被装饰的函数
    # time.sleep(0.01)
    # print('老板好,同事好,大家好',a)
    # return '新年好'
    # res = func(1,b = 2)
    # ret = func1(1)
    # print(res,ret)


    #--------------------------------------------------------------------------------------------------------
    def wrapper(f): # 装饰器函数,f是被装饰的函数
    def inner(*args,**kwargs):
    '''在被装饰函数之前要做的事'''
    res = f(*args,**kwargs) # 被装饰的函数
    '''在被装饰函数之后要做的事'''
    return res
    return inner

    @wrapper
    def func(a,b): # 被装饰的函数
    time.sleep(0.01)
    print('老板好,同事好,大家好',a,b)
    return '新年好'
    res = func(1,b = 2)
    print(res)
  • 相关阅读:
    jsp数据交互二
    jsp数据交互(一)
    JQuery操作DOM
    事件和动画
    Jquery选择器
    Optional容器(jdk1.8)
    java常见集合笔记
    字符串内存占用图解
    单例设计模式
    代码块
  • 原文地址:https://www.cnblogs.com/lpgit/p/9292038.html
Copyright © 2011-2022 走看看