• 装饰器


    装饰器

    本质就是函数,为其他函数添加附加功能。
    原则:

    1. 不修改被修饰函数的源代码;
    2. 不修改被修饰函数的调用方式;

    解压序列

    a,b,c = (1,2,3)
    #a=1
    #b=2
    #c=3
    

    装饰器实例

    装饰器=高阶函数+函数嵌套+闭包

    import time
    def timmer(func):
        def wrapper(*args,**kwargs):  #cal('tiger',age=18)  --> args=('tiger') kwargs=['age':18]
            start_time= time.time()
            f = func(*args,**kwargs)   #cal(*('tiger'),**['age':18])
            stop_time = time.time()
            print("函数运行时间为:%s" %(stop_time-start_time))
            return f
        return wrapper
    
    
    @timmer
    def cal(name,age):
        print(name,age)
        return res
    a = range(10)
    res = cal(a)
    print(res)
    

    高阶函数不能实现装饰器

    import time
    def foo():
        time.sleep(3)
        print("this is foo")
    
    
    def test(func):
       start_time = time.time()
       func()
       end_time = time.time()
       print(end_time-start_time)
       return func
    
    foo = test(foo)
    foo()
    
  • 相关阅读:
    导入数据库的命令
    截取字符串
    用decode函数实现行变列
    初始库存入库相关知识
    客户欠款余额账
    存货管理
    创建临时表(转)
    求余额
    学习浪潮系统
    oracle number类型
  • 原文地址:https://www.cnblogs.com/chrrydot/p/9790375.html
Copyright © 2020-2023  润新知