@contextmanager
语法实现两种方法误差惊人,故只保留1位小数。
tdqm
库实现进度条Python 中有多种用于计时的内置工具和模块,以下是其中一些常用的计时器:
time 模块:Python 的内置 time
模块提供了一些函数来测量时间,最常用的是 time.time()
函数,它返回自 1970 年 1 月 1 日以来的秒数(Unix 时间戳)。你可以使用 time.time()
来测量代码块的执行时间。
import time
start_time = time.time()
# 执行需要计时的代码块
end_time = time.time()
elapsed_time = end_time - start_time
timeit 模块:Python 的 timeit
模块专门用于测量小段代码的执行时间。它提供了一个 timeit()
函数,可用于在多次运行相同的代码块时获取准确的执行时间。
import timeit
code_to_measure = """
# 执行需要计时的代码块
"""
elapsed_time = timeit.timeit(code_to_measure, number=1000)
datetime 模块:Python 的 datetime
模块提供了处理日期和时间的功能。你可以使用 datetime.datetime.now()
来获取当前时间,并在代码块的开始和结束时记录时间,然后计算时间差来测量执行时间。
import datetime
start_time = datetime.datetime.now()
# 执行需要计时的代码块
end_time = datetime.datetime.now()
elapsed_time = end_time - start_time
cProfile 模块:Python 的 cProfile
模块是一个性能分析工具,用于测量代码的执行时间并提供详细的性能分析信息。它适用于分析代码的性能瓶颈。
import cProfile
def function_to_profile():
# 执行需要计时的代码块
cProfile.run('function_to_profile()')
profile 模块:与 cProfile
类似,Python 的 profile
模块也用于性能分析,但提供了更高级的分析功能。你可以使用 profile
模块来测量代码的执行时间和函数调用次数,并生成详细的报告。
import profile
def function_to_profile():
# 执行需要计时的代码块
profiler = profile.Profile()
profiler.run('function_to_profile()')
profiler.print_stats()
这些是 Python 中常用的内置计时器和性能分析工具。你可以根据具体的需求选择合适的工具来测量和分析代码的执行时间。