Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >利用装饰器计算函数运行的时间

利用装饰器计算函数运行的时间

作者头像
西西嘛呦
发布于 2020-08-26 02:13:09
发布于 2020-08-26 02:13:09
1K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time
from functools import wraps
def time_this_function(func):
    #作为装饰器使用,返回函数执行需要花费的时间
    @wraps(func)
    def wrapper(*args,**kwargs):
        start=time.time()
        result=func(*args,**kwargs)
        end=time.time()
        print("函数:",func.__name__,"运行时间:",round(end-start,4),"s")
        return result
    return wrapper
if __name__=='__main__':
    @time_this_function
    def count_number(n):
        while n>0:
            time.sleep(0.1)
            n+=-1
    count_number(10)
输出:函数: count_number 运行时间: 1.0036 s
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
我是装饰器
其实,我并不难理解,而且学会使用我之后,可以让你写代码时偷点懒,少点重复性工作,代码也更优雅,更具有 Pythonic。
somenzz
2020/11/25
3350
Python装饰器
装饰器在Python中是一个强大的高级用法,并且在流行Python框架中变得越来越常见。经常会用到装饰器来增强函数的行为(动态的给一个对象添加一些额外的职责),包括记录日志,权限校验,性能测试,数据封装等。有了装饰器,我们可以抽离出大量和函数功能本身无关的雷同代码并继续重用。
oYabea
2020/09/07
4900
python 装饰器
文章目录 1. 装饰器在导入的时候就会执行 2. functools.wraps 装饰器,保持 被装饰的函数的 `__name__` 的值不变 3. functools.lru_cache 实现备忘录 4. functools.singledispatch 处理多个不同的输入类型 5. 堆叠装饰器 6. 参数化装饰器 learn from 《流畅的python》 def deco(func): def inner(): print("running inner()") r
Michael阿明
2021/09/06
3880
Python懒人必备:推荐7个高效实用的装饰器!
对于编程新手来说,Python装饰器可能是一个稍显复杂的概念。简单来说,装饰器是一个函数,它可以接受另一个函数作为参数,并返回一个新的函数(通常是修改后的原始函数的版本)。这个特性使得装饰器在Python中成为一种非常强大且灵活的工具,可以用于在不修改原始函数代码的情况下,为其添加新的功能或修改其行为。常用于统计时间、插入日志、性能度量、权限校验、缓存、事务处理等场景。
测试开发技术
2024/09/10
2710
Python懒人必备:推荐7个高效实用的装饰器!
Python装饰器的详细解析
Python装饰器(fuctional decorators)就是用于拓展原来函数功能的一种函数,目的是在不改变原函数名(或类名)的情况下,给函数增加新的功能。
用户8949263
2022/04/08
5610
Python装饰器
Python中的装饰器是一个用于修改类或者函数功能的可调用对象(callable),函数或者实现了__call__方法的类都可以看作是可调用对象。Python中装饰器分为两大类:
雪飞鸿
2022/01/06
5300
Python进阶——如何实现一个装饰器?
在 Python 开发中,我们经常会看到使用装饰器的场景,例如日志记录、权限校验、本地缓存等等。
_Kaito
2021/03/23
3280
Python中的装饰器详解及实际应用
在Python编程中,装饰器(Decorator)是一种强大而灵活的工具,用于修改函数或方法的行为。它们广泛应用于许多Python框架和库,如Flask、Django等。本文将深入探讨装饰器的概念、使用方法,并提供实际应用的代码示例和详细解析。
一键难忘
2024/04/16
6020
Python 装饰器怎么用?
Python 的装饰器是一种非常强大的工具,允许程序员在不修改原有函数定义的情况下,增加额外的功能。装饰器的应用场景非常广泛,从日志记录、性能测试、事务处理到缓存、权限校验等都有涉及。本文将通过几个实例详细介绍如何巧妙地使用 Python 中的装饰器来解决实际问题。
程序猿川子
2024/07/23
1000
Python 装饰器怎么用?
Python技巧 | 一个任务超时退出的装饰器,用起来真方便~
我们日常在使用的各种网络请求库时都带有timeout参数,例如request库。这个参数可以使请求超时就不再继续了,直接抛出超时错误,避免等太久。
快学Python
2021/08/09
1.1K0
Python 装饰器使用指南
装饰器的一大特性是,能把被装饰的函数替换成其他函数。第二大特性是,装饰器在加载模块时立即执行。
goodspeed
2020/12/22
5070
Python 装饰器使用指南
Python 装饰类中所有自定义函数
Python 装饰器可以对既有方法执行强大的自定义功能, 而且使用@关键字已经是很方便的使用方式了,但是无法解决需要装饰所有函数的需求,本文记录解决方案。 解决思路 需要用到Python类自带的魔法函数 获取到类中所有方法、属性名称 过滤得到方法名称 通过__getattribute__方法获得方法定义 重载__getattribute__方法,装饰类中的方法,返回装饰后的函数 应该是没有说清楚,上代码吧 示例代码 展示一个自动装饰类方法,对函数运行时间进行计时、打印的程序 函数输入类定义,使用
为为为什么
2022/08/06
2820
BAT面试题39:Python中的装饰器用过吗?
本质上,装饰器(decorator)就是一个返回函数的高阶函数。拿到一个函数,返回一个函数,或者拿到一个类,返回另一个类。
double
2019/07/17
7550
BAT面试题39:Python中的装饰器用过吗?
python 3层装饰器及应用场景
    1)把一个函数名当做实参传给另一个函数(在不修改被装饰函数的源代码情况下为其添加功能);
py3study
2020/01/03
4790
python装饰器
装饰器就是在不修改函数源代码的情况下,动态地增加、修改或包装函数的行为。这为我们的代码提供了更高的可重用性和可扩展性。这篇依然使用不是很难的装饰器和非常实用的小例子来帮助理解
不止于python
2023/09/05
1950
python装饰器
装饰器--从入门到入土!
目录 装饰器 1、定义 2、原则 3、装饰器核心思想 4、装饰器简易版本 5、解决有参函数问题 6、解决返回值问题 7、装饰器模板 8、认证装饰器 9、装饰器语法糖 单层语法糖(重难点) 双层语法糖(重难点) 三层语法糖(难点) 10、装饰器修复技术 11、有参装饰器 装饰器 本文讲述了装饰器由简易装饰器到完整装饰器的过程,一个段落解决一个问题! 1、定义 器:指的是工具 装饰:给被装饰对象添加额外的功能 2、原则 开放封闭的原则 开放:对扩展开放 封闭:对修改封闭 3、装饰器核心思想 在不改变
HammerZe
2022/03/25
3260
装饰器--从入门到入土!
《流畅的Python》第七章学习笔记
闭包指延伸了作用域的函数,其中包含了「函数定义体中引用」、「不在定义体中定义的非全局变量」
zx钟
2020/12/24
4100
Python3 装饰器理解
谈装饰器之前,需明白一件事,Python 中的函数和 Java、C++ 不一样,Python 中的函数可以像普通变量一样当做参数传递给另外一个函数,代码示例如下:
嵌入式视觉
2022/09/05
2090
Python 新手突破瓶颈指南:functools.wraps 元数据复制
在 Python 中,装饰器是非常强大的工具,用于修改或扩展函数的行为。然而,使用装饰器时,我们经常会遇到一个问题:被装饰函数的元数据信息(如名称、文档字符串和参数列表)可能会丢失。这时,functools.wraps 就派上了用场。本文将深入探讨 functools.wraps 的作用,并提供一些实际的应用例子。
MegaQi
2024/08/09
1850
Python 新手突破瓶颈指南:functools.wraps 元数据复制
让代码更具 Python 范儿的装饰器
在 Python 中,装饰器的作用是在不改变函数或类的代码的前提下,改变函数或类的功能。在介绍装饰器之前,我们先来复习下 Python 中的函数。
mr.songw
2021/01/14
4200
让代码更具 Python 范儿的装饰器
相关推荐
我是装饰器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验