当前位置: 首页 > 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(原理到实现)
  • 中消协发布“五一”消费提示:践行“光盘行动”,抵制餐饮浪费
  • 春暖花开,为何皮肤却闹起了小情绪?
  • 传智教育连续3个交易日跌停:去年净利润由盈转亏
  • 最高法知产庭年度报告:民事案件二审发回重审率持续下降
  • 共话城市自然之美,“微观黄浦”自媒体网络大V沙龙首场活动举行
  • 全国首例!上市公司董监高未履行公开增持承诺,投资者起诉获赔