day12 装饰器

装饰器

装饰的东西,工具,装饰的工具

函数定义一个工具
装饰器本质上其实也是一个函数,只不过这个函数具有装饰的功能

装饰器: 改变功能的时候不改变原来的调用方式,并且不改变函数的代码,是python的核心思想开放封闭原则,可以在不重构代码的情况下做到对项目功能的增加

在自己写项目的时候会很少需要自己去写装饰器,更多的是调用别人写好的装饰器

装饰器调用方法一般是使用语法糖

代码

# 装饰的功能

import time

def getruntime(func):
    def wrapper(*args,**kwargs):
        start = time.time()
        res = func(*args,**kwargs)
        time.sleep(1)
        end = time.time()
        runtime = end - start
        print(f"程序运行了{runtime - 1}秒")
        return res
    return  wrapper

@getruntime
def haha(info):
    return info



a=haha(['a','b'])
print(a)

上述代码在不改变haha这个函数的原功能下做到了对这个程序执行时间的计算

猜你喜欢

转载自www.cnblogs.com/wsxiaoyao/p/10965294.html
今日推荐