当前位置: 首页 > news >正文

统计函数运行时间的python脚本

        这是一个统计函数运行时间的实用脚本,其中用到了函数的嵌套、链式传输参数,以及修饰器。

import time
 
# 定义一个装饰器timer,用于计算被装饰函数的运行时间
def timer(func):
    print("执行了timer")
    def wrapper(*args, **kwargs):
        start = time.time()
        out = func(*args, **kwargs)
        end = time.time()
        print("耗时", end - start)
        return out
    return wrapper
 
# 使用timer装饰器装饰函数
@timer
def func1(n):
    print("执行了func1")
    for i in range(n):
        i += 1
    return i
 
x = func1(10000000)  # 由于使用了装饰器,自动调用被装饰的函数
# @timer 是装饰器语法,等价于 func1 = timer(func1)。
print("func1输出=",x)
 
 
# 不使用装饰器直接调用函数
def func2(n):
    print("执行了func2")
    for i in range(n):
        i += 1
    return i
x = timer(func2)(10000000)   # 通过链式调用,传递参数
print("func2输出=",x)
 
# 输出结果:
"""
执行了timer
执行了func1
耗时 0.4021315574645996
func1输出= 10000000
执行了timer
执行了func2
耗时 0.3547825813293457
func2输出= 10000000
"""

相关文章:

  • Java中堆和栈
  • Linux系统--echo命令的使用说明
  • 【数据分析】3 数据分析成长之路
  • 目前可免费使用【满血+可联网】deepseek的网站
  • MIMO系统信道容量(开环与闭环)
  • 解锁健康密码,开启养生之旅
  • 第4章 信息系统架构(三)
  • 微信小程序实现拉卡拉支付
  • QT之改变鼠标样式
  • 算法系列之搜索算法-深度优先搜索DFS
  • 大模型面经:SFT和RL如何影响模型的泛化或记忆能力?
  • nessus kali 卸载
  • 专题--JVM体系
  • Java泛型(超详细介绍)
  • 树莓派 4B:AI 物联网完整部署方案
  • QT项目——天气预报
  • Qt QStackedWidget 总结
  • React 源码揭秘 | CompleteWork “归“的过程
  • Java 23新特性深度解析:开启下一代Java开发新范式
  • 深入解析:短轮询、长轮询、长连接与WebSocket(原理到实现)
  • 华为招聘:未与任何第三方开展过任何形式的实习合作
  • 潘功胜:央行将创设科技创新债券风险分担工具
  • 默茨当选德国总理
  • 世界银行最新营商环境体检单:59个测评点,上海22项达全球最优水平
  • 为什么有的人闻到烟味,会咳嗽、胸闷?别再伤害身边的人
  • 什么让翻拍“语文”成为短视频新风潮