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 调试
步骤
-
设置断点:
- 在代码行号左侧点击,设置断点(红色圆点)。
-
启动调试:
- 点击右上角的“Debug”按钮(虫子图标)。
- 或右键点击文件,选择“Debug”。
-
调试界面:
- 变量窗口: 查看当前作用域内的变量值。
- 控制台: 执行 Python 命令。
- 步进工具:
Step Over
(F8): 执行下一行,不进入函数。Step Into
(F7): 进入函数内部。Step Out
(Shift+F8): 跳出当前函数。
-
查看表达式:
- 在“Watches”窗口中添加表达式,实时监控其值。
示例代码
def add(a, b):
result = a + b # 在此行设置断点
return result
add(2, 3)
优点
- 图形化界面,操作直观。
- 支持断点、单步执行、变量监控等功能。
- 集成在 IDE 中,无需切换工具。
缺点
- 需要安装 PyCharm,适合开发环境。
4. 使用 IntelliJ IDEA 调试
步骤
-
安装 Python 插件:
- 打开 IntelliJ IDEA,进入
File -> Settings -> Plugins
。 - 搜索并安装
Python
插件。
- 打开 IntelliJ IDEA,进入
-
设置 Python 解释器:
- 进入
File -> Project Structure -> SDKs
。 - 添加 Python 解释器。
- 进入
-
设置断点:
- 在代码行号左侧点击,设置断点。
-
启动调试:
- 点击右上角的“Debug”按钮。
- 或右键点击文件,选择“Debug”。
-
调试界面:
- 与 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代码调试的几种方法总结