zhuifeng66666 2021-12-27 16:56 采纳率: 50%
浏览 69
已结题

用Python,实现一个装饰器配置文件,计算给定函数的执行时间

问题遇到的现象和发生背景

实现一个装饰器配置文件,它计算给定函数的执行时间,打印执行时间并返回函数结果。
考虑使用时间模块和default_timer函数来计算函数执行时间。将装饰器保存到一个utils.py文件中。

问题相关代码,请勿粘贴截图
Example
@profile
def some_function ():
return sum ( range ( 1000 ) )
result = some_function () # return a value and print execution ti

实现一个上下文管理器计时器来计算代码块执行时间,并将其打印到屏幕上。将上下文管理器保存到一个utils.py文件中。

Example
with timer ():
print ( sum ( range ( 1000 ) ) )
# print execution time when calculation is over

我的解答思路和尝试过的方法
我想要达到的结果

写一下注释

  • 写回答

1条回答 默认 最新

  • 江小皮不皮 2021-12-27 17:09
    关注

    utils:

    
    import datetime
    
    
    def default_timer(func):
        def int_time(*args, **kwargs):
            start_time = datetime.datetime.now()  # 程序开始时间
            func()
            over_time = datetime.datetime.now()   # 程序结束时间
            total_time = (over_time-start_time).total_seconds()
            print('程序共计%s秒' % total_time)
        return int_time
    

    测试函数

    from utils import default_timer
    
    
    @default_timer
    def main():
        print('>>>>开始计算函数运行时间')
        for i in range(1, 100):# 可以是任意函数  , 这里故意模拟函数的运行时间
            for j in range(i):
                print(j)
    
    
    if __name__ == '__main__':
        main()
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。