在将应用程序部署到生产环境后,调试不应成为事后的想法。它应该在开发过程中尽可能频繁地执行,因为这样可以轻松跟踪代码错误并为开发人员修复导致其代码无法运行的问题。大多数开发人员不知道 Python 的 print 函数并没有提供开发中发生的错误的确切图片。那么,您可以使用什么来识别和修复这些错误呢?答案是调试工具!它们提高了生产力并帮助使编码过程有效。 Python 调试器 (pdb) 是 Python 程序的交互式源代码调试器。除了调试之外,它还提供了附加功能,例如设置条件断点、逐行遍历源代码以及检查特定行的变量及其调用堆栈。 本文将解释调试器工具 如何在测试期间和交付给用户之前检查和分析您的代码以使其符合行业标准。 pdb 先决条件 要了解调试过程,您需要具备: 安装在本地机器上 Python Python的知识 改进 Python 程序的方法 要正确调试 Python 代码,您需要了解以下提示,以帮助提高生产力和错误检查: Linting:它在运行代码之前检测代码的问题。完成这项工作的一种方法是安装有助于对程序进行颜色编码的软件,这样您就可以减少错误并在 IDE(VS 代码)指出错误时快速解决它们。一种这样的工具是 ,并在您编码时提供建议。 皮林特 集成开发环境(IDE)/编辑器:特定于 Python 的 IDE,例如 或者 具有内置工具和功能,可帮助基于 PEP8 自动格式化代码,并在出现错误时突出显示您的代码。 PyCharm VS 代码 阅读错误:学习阅读 Python 程序中的代码错误将大大解决一半的问题,因为您可以在控制台中理解它们的含义。 name = 'teri print(name) 安慰 使用 pdb 进行 Python 调试 在本节中,您将使用 Python 调试器 测试 Python 代码。在交互式环境中实时运行代码并解决错误。 pdb 内置的 模块是 Python 在安装工作工具时附带的标准库的一部分。该工具为您提供了在测试程序时可以使用的其他几个命令。让我们使用 pdb 编写一个函数。在代码编辑器中创建一个新文件 或您想要的任何其他名称,以 扩展名结尾。 pdb app.py .py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 10)) 上面的代码执行以下操作: 导入库 pdb 定义一个函数 有两个参数 和 multiply_number num1 num2 使用 方法调用库,这对 对象很有帮助,因为它会暂停您的程序并进入允许您在控制台中键入和测试代码的调试器模式 set_trace pdb 使用 return 关键字获取参数的结果 调用函数并传入数字参数 使用命令 运行这个程序会进入调试器,我们可以在其中传递几个调试器命令来运行代码。检查 文档以查找您可以使用的命令的完整列表。 python3 <name-of-file.py> 调试器命令 接下来,让我们在控制台中尝试一些命令: 键入 a 或 args 会列出当前函数 multiply_number 中使用的所有参数。 在尝试另一个命令之前,更新 app.py 文件中的代码以将字符串作为参数的一部分包含在内,以便程序在执行期间输出错误: # app.py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 'execute')) 使用命令 python3 app.py 重新运行程序: 在控制台中输入 和 ,它会输出在 multiply_number 函数中传递的参数的结果。 num1 num2 您可以尝试的其他命令包括文档中的下一步、继续等。 最后,一旦 识别出代码中的错误及其发生的行号,您就可以返回代码并通过更正错误并使用正确的参数来清理它,以便程序运行。 pdb 注意: 模块用于开发期间的测试,而不是生产。在部署之前将其删除。 pdb 结论 本文将指导您在尝试修复代码和识别错误时采用最佳实践。使用该方法比打印功能更好,因为它有更多功能可以帮助您提高代码质量。 学到更多 Python 调试器文档