在 Python 中,你可以使用多种方法来计时代码的执行时间,以下是一些常用的方法:
使用 time
模块
import time
# 记录开始时间
start_time = time.time()
# 执行代码
# ...
# 记录结束时间
end_time = time.time()
# 计算并打印执行时间
print(f"代码执行时间:{end_time - start_time} 秒")
使用 timeit
模块
timeit
模块可以更精确地测量小段代码的执行时间。它会自动执行多次以提供更准确的时间测量。
import timeit
# 定义要计时的代码
def test():
# 这里写你要测试的代码
pass
# 计时并打印结果
elapsed_time = timeit.timeit(test, number=1000) # number 参数表示代码执行的次数
print(f"代码执行时间:{elapsed_time} 秒")
使用 datetime
模块
from datetime import datetime
# 记录开始时间
start_time = datetime.now()
# 执行代码
# ...
# 记录结束时间
end_time = datetime.now()
# 计算并打印执行时间
print(f"代码执行时间:{(end_time - start_time).total_seconds()} 秒")
使用 contextlib
和 time
模块创建上下文管理器
你可以创建一个上下文管理器来自动计时:
import time
from contextlib import contextmanager
@contextmanager
def timer():
start_time = time.time()
yield
print(f"代码执行时间:{time.time() - start_time} 秒")
# 使用上下文管理器
with timer():
# 执行代码
time.sleep(2) # 假设这里有一个耗时的操作
使用 datetime
模块创建上下文管理器
from datetime import datetime
from contextlib import contextmanager
@contextmanager
def timer():
start_time = datetime.now()
yield
print(f"代码执行时间:{(datetime.now() - start_time).total_seconds()} 秒")
# 使用上下文管理器
with timer():
# 执行代码
time.sleep(2) # 假设这里有一个耗时的操作
这些方法中,timeit
模块通常用于代码性能分析,而 time
和 datetime
模块则更适合简单的计时需求。上下文管理器提供了一种优雅的方式来测量代码块的执行时间,而不需要在代码中显式地调用开始和结束时间的函数。