Python代码调试的方法集锦

 更新时间:2025年03月09日 09:01:26   作者:老胖闲聊  
程序能一次写完并正常运行的概率很小,基本不超过1%,总会有各种各样的bug需要修正,有的bug很简单,看看错误信息就知道,有的bug很复杂,因此,需要一整套调试程序的手段来修复bug,所以本文给大家介绍了Python代码调试的方法集锦,需要的朋友可以参考下

1. 使用 print 调试

示例代码

def add(a, b):
    print(f"a: {a}, b: {b}")  # 打印输入参数
    result = a + b
    print(f"结果: {result}")  # 打印结果
    return result

add(2, 3)

优点

  • 简单直接,无需额外工具。
  • 适合快速检查变量值。

缺点

  • 需要手动添加和删除 print 语句。
  • 不适合复杂调试场景。

2. 使用 pdb 调试

示例代码

import pdb

def add(a, b):
    pdb.set_trace()  # 设置断点
    result = a + b
    return result

add(2, 3)

常用命令

  • n (next): 执行下一行。
  • c (continue): 继续执行直到下一个断点。
  • q (quit): 退出调试。
  • p <变量>: 打印变量值。

优点

  • 无需 IDE,适合在终端或脚本中使用。
  • 功能强大,支持单步执行和变量检查。

缺点

  • 命令行操作,不如图形化工具直观。

3. 使用 PyCharm 调试

步骤

  1. 设置断点:

    • 在代码行号左侧点击,设置断点(红色圆点)。
  2. 启动调试:

    • 点击右上角的“Debug”按钮(虫子图标)。
    • 或右键点击文件,选择“Debug”。
  3. 调试界面:

    • 变量窗口: 查看当前作用域内的变量值。
    • 控制台: 执行 Python 命令。
    • 步进工具:
      • Step Over (F8): 执行下一行,不进入函数。
      • Step Into (F7): 进入函数内部。
      • Step Out (Shift+F8): 跳出当前函数。
  4. 查看表达式:

    • 在“Watches”窗口中添加表达式,实时监控其值。

示例代码

def add(a, b):
    result = a + b  # 在此行设置断点
    return result

add(2, 3)

优点

  • 图形化界面,操作直观。
  • 支持断点、单步执行、变量监控等功能。
  • 集成在 IDE 中,无需切换工具。

缺点

  • 需要安装 PyCharm,适合开发环境。

4. 使用 IntelliJ IDEA 调试

步骤

  1. 安装 Python 插件:

    • 打开 IntelliJ IDEA,进入 File -> Settings -> Plugins
    • 搜索并安装 Python 插件。
  2. 设置 Python 解释器:

    • 进入 File -> Project Structure -> SDKs
    • 添加 Python 解释器。
  3. 设置断点:

    • 在代码行号左侧点击,设置断点。
  4. 启动调试:

    • 点击右上角的“Debug”按钮。
    • 或右键点击文件,选择“Debug”。
  5. 调试界面:

    • 与 PyCharm 类似,提供变量窗口、控制台和步进工具。

示例代码

def add(a, b):
    result = a + b  # 在此行设置断点
    return result

add(2, 3)

优点

  • 支持多种语言,适合多语言开发。
  • 功能强大,与 PyCharm 类似。

缺点

  • 需要安装 Python 插件,配置稍复杂。

5. 使用日志调试

示例代码

import logging

logging.basicConfig(level=logging.DEBUG)

def add(a, b):
    logging.debug(f"a: {a}, b: {b}")
    result = a + b
    logging.debug(f"结果: {result}")
    return result

add(2, 3)

优点

  • 可以控制日志级别(DEBUG、INFO、WARNING 等)。
  • 适合生产环境调试。

缺点

  • 需要手动添加日志语句。

总结

  • 简单调试: 使用 print 或 pdb
  • 图形化调试: 使用 PyCharm 或 IntelliJ IDEA。
  • 生产环境调试: 使用 logging

到此这篇关于Python代码调试的方法集锦的文章就介绍到这了,更多相关Python代码调试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 随机生成测试数据的模块:faker基本使用方法详解

    Python 随机生成测试数据的模块:faker基本使用方法详解

    这篇文章主要介绍了Python 随机生成测试数据的模块:faker基本使用方法,结合实例形式详细分析了Python 随机生成测试数据的模块faker基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Python利用psutil获取CPU与内存等硬件信息

    Python利用psutil获取CPU与内存等硬件信息

    psutil是Python的一个第三方库,提供了各种强大的硬件信息查阅功能,这篇文章主要为大家介绍了如何利用psutil获取CPU与内存等硬件信息,需要的可以参考一下
    2023-07-07
  • python爬虫之selenium模块

    python爬虫之selenium模块

    本文详细讲解了python爬虫之selenium模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 对numpy中的transpose和swapaxes函数详解

    对numpy中的transpose和swapaxes函数详解

    今天小编就为大家分享一篇对numpy中的transpose和swapaxes函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • python将ansible配置转为json格式实例代码

    python将ansible配置转为json格式实例代码

    这篇文章主要介绍了python将ansible配置转为json格式实例代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • Python中None的实现方法详解

    Python中None的实现方法详解

    在 Python 中,None 是一个常见且重要的对象,它通常用于表示“没有值”或“空值”,尽管经常使用 None,但很多人并不清楚 None 的底层实现原理,本文将深入探讨 Python 中的 None,包括其定义、实现细节、使用场景及其在 Python 内部的工作机制,需要的朋友可以参考下
    2025-03-03
  • 基于python及pytorch中乘法的使用详解

    基于python及pytorch中乘法的使用详解

    今天小编就为大家分享一篇基于python及pytorch中乘法的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 深入理解NumPy简明教程---数组1

    深入理解NumPy简明教程---数组1

    这篇文章主要介绍了深入理解NumPy简明教程(二、数组1),NumPy数组是一个多维数组对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • Python学习之字符串格式化

    Python学习之字符串格式化

    这篇文章主要介绍了Python实现字符串格式化输出的方法,结合具体实例形式总结分析了Python字符串格式化输出的各种常用操作技巧,需要的朋友可以参考下
    2021-10-10
  • Python使用pip通过命令设置国内镜像源的三种方式

    Python使用pip通过命令设置国内镜像源的三种方式

    在使用 pip 安装 Python 模块时,默认的国外镜像源可能会导致下载速度缓慢甚至超时,为了解决这个问题,可以使用国内的镜像源来加速下载,以下是常用的国内镜像源以及临时和永久的配置方法,需要的朋友可以参考下
    2025-08-08

最新评论