即使您是初学者,如何加速缓慢的 Python 代码

Python 代码缓慢通常是由小的效率低下引起的。通过一些适合初学者的技术,您可以使您的程序运行速度明显更快。本指南将教您如何操作。

来源:KDnuggets

简介

Python 是最适合初学者的语言之一。但如果您已经使用它一段时间了,您可能会遇到需要几分钟才能完成的循环、占用您所有内存的数据处理作业等等。

您无需成为性能优化专家即可做出重大改进。大多数缓慢的 Python 代码都是由一些常见问题引起的,一旦您知道要查找什么,这些问题就很容易修复。

在本文中,您将学习五种实用技术来加速缓慢的 Python 代码,并通过前后示例显示差异。

您可以在 GitHub 上找到本文的代码。

先决条件

在我们开始之前,请确保您已经:

  • 安装了 Python 3.10 或更高版本
  • 熟悉函数、循环和列表
  • 对标准库中的时间模块有一定的了解
  • 对于几个示例,您还需要以下库:

    1. 优化前测量

    在修改一行代码之前,你需要知道到底慢在哪里。优化代码中错误的部分会浪费时间,甚至会使事情变得更糟。

    Python 的标准库包含一种对任何代码块进行计时的简单方法:time 模块。要进行更详细的分析,cProfile 会准确显示哪些函数花费的时间最长。

    假设您有一个处理销售记录列表的脚本。以下是找到慢速部分的方法:

    输出:

    负载:0.0034s

    过滤器:0.0060s

    报告:0.0012s

    现在你知道焦点在哪里了。filter_records() 是最慢的步骤,其次是 load_records()。因此,这就是任何优化努力都会得到回报的地方。如果不进行测量,您可能会花时间优化generate_report(),它已经很快了。

    对于短时间测量,time.perf_counter() 函数比 time.time() 更精确。每当您对代码性能进行计时时都可以使用它。

    经验法则:永远不要猜测瓶颈在哪里。先测量,再优化。2. 使用内置函数和标准库工具结论