• 装饰器


    装饰器

    • 封闭:已实现的功能代码块不应该被修改
    • 开放:对现有功能的扩展开放
    #装饰器编写格式
    def 外层函数(参数):
        def 内层函数(*args,**kwargs):
            # 参数(*args,**kwargs)
            return 参数(*args,**kwargs)
        return 内层函数
    
    #装饰器应用格式0
    @外层函数
    def 需要被装饰的函数():
        pass
    
    需要被装饰的函数()
    #装饰器标准写法
    def x(func):
        def y():
            func()
            #或者ret = func()
                # return ret
        return y
    
    @x
    def z():
        pass
    
    z()

    应用例子:

    import time
    def run(arg):
        def timmer():
            print("timmer函数执行开始
    ")
            start_time = time.time()
            arg()
            stop_time = time.time()
            run_time =  stop_time - start_time
            print(run_time,"
    ")
            print("timmer函数执行完毕")
        return timmer
    
    # 第一步:执行run函数并将下面被装饰的函数作为参数传递到run函数里。相当于:run(func),r
    #         run函数的形参arg指向了func里面的代码
    # 第二步:将run函数的返回值重新赋值给下面被装饰的func函数名。相当于:func = run(func)
    @run
    def func():
        print("正在执行func函数")
        time.sleep(1)
    
    func()
  • 相关阅读:
    第六次学习笔记
    第四篇笔记
    第三篇学习笔记
    第二篇学习笔记
    第一篇学习笔记
    px与dp、sp之间的转换
    SQLite的使用(二):数据增删改查
    Logcat的级别以及Logcat的调试使用
    Android 创建服务(一)
    简说SQLite
  • 原文地址:https://www.cnblogs.com/zwnsyw/p/11701308.html
Copyright © 2020-2023  润新知