在Java/ c#中,您可以很容易地逐级检查代码以跟踪可能出错的地方,而IDE使这个过程对用户非常友好。

你能以类似的方式跟踪python代码吗?


当前回答

从Python 3.7开始,你可以使用breakpoint()内置函数进入调试器:

foo()
breakpoint()  # drop into the debugger at this point
bar()

默认情况下,breakpoint()将导入pdb并调用pdb.set_trace()。但是,你可以通过sys.breakpointhook()和使用环境变量PYTHONBREAKPOINT来控制调试行为。

有关更多信息,请参阅PEP 553。

其他回答

从Python 3.7开始,你可以使用breakpoint()内置函数进入调试器:

foo()
breakpoint()  # drop into the debugger at this point
bar()

默认情况下,breakpoint()将导入pdb并调用pdb.set_trace()。但是,你可以通过sys.breakpointhook()和使用环境变量PYTHONBREAKPOINT来控制调试行为。

有关更多信息,请参阅PEP 553。

在python中有一个叫做'pdb'的模块。在python脚本的顶部

import pdb
pdb.set_trace()

然后进入调试模式。您可以使用's'步进,'n'跟随下一行,类似于使用'gdb'调试器。

VSCode

如果你想使用IDE,这是PyCharm的一个很好的替代方案。

安装VSCode 安装Python扩展,如果还没有安装的话 用Python代码创建一个文件mymodule.py 若要设置断点,请将鼠标悬停在行号上并单击红点,或按F9 按F5开始调试并选择Python文件

它将在断点处停止,你可以做你通常的调试工作,比如检查变量的值,可以在变量选项卡(通常在左边)或单击调试控制台(通常在终端旁边的底部):

这个截图显示了VSCodium。

更多的信息

在VS Code中的Python调试 在VS Code中开始学习Python 在Visual Studio代码中调试

如果你想要一个集成调试器的IDE,试试PyScripter。

PyCharm是一个包含调试器的Python IDE。观看这段YouTube视频,了解如何使用它来逐步执行代码:

PyCharm教程-使用PyCharm调试python代码(在6:34开始调试)

注意:PyCharm是一个商业产品,但该公司确实为学生和教师提供了免费的许可证,以及一个“轻量级”社区版本,它是免费和开源的。