
python如何计算程序耗时
用户关注问题
如何在Python中测量代码执行时间?
我想知道在Python里,有哪些方法可以用来计算一段代码的运行时间?
使用time模块测量代码执行时间
可以通过导入time模块,用time.time()记录代码开始和结束时的时间戳,二者相减即可得到运行时间。例如:
import time
start = time.time()
# 运行的代码
end = time.time()
print('耗时:', end - start, '秒')
有没有更方便的工具来统计Python代码的运行时间?
感觉自己用time模块写起来很繁琐,有没有Python内置的或者第三方工具,能简洁地计算代码执行时间?
使用timeit模块和装饰器简化耗时统计
Python提供了timeit模块,专门用于准确测量小段代码运行时间。可以在命令行使用timeit,也可以在代码中调用。例如:
import timeit
print(timeit.timeit('sum(range(100))', number=10000))
此外,也可以自己定义装饰器,自动计算函数耗时,提高代码复用性。
怎样测量Python程序某个函数的耗时时间?
我想单独测试某个函数的执行时间,有没有推荐的方法?
利用装饰器或contextlib测量函数耗时
可以通过编写装饰器来自动打印函数的耗时,示例如下:
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f'函数 {func.__name__} 的耗时: {end - start} 秒')
return result
return wrapper
@timer
def my_function():
# 函数体
pass
或者使用contextlib的contextmanager创建计时上下文管理器,方便测量代码块耗时。