在 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()} 秒")

使用 contextlibtime 模块创建上下文管理器

你可以创建一个上下文管理器来自动计时:

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 模块通常用于代码性能分析,而 timedatetime 模块则更适合简单的计时需求。上下文管理器提供了一种优雅的方式来测量代码块的执行时间,而不需要在代码中显式地调用开始和结束时间的函数。