最近在学习算法,有很多是关于python的实现。对python也就了解语法,算不上特别熟悉。所以看算法也就了解个大概,想完全掌握,觉得最好还是用自己熟悉的语言再实现一遍。而想啃透一门算法的思路,最好方式还是拿出调试工具完全走一遍,才加深理解。
python 调试工具有两种,分别是Python标准库自带的pdb和开源的ipdb。pdb原生自带,ipdb需要另外安装第三方库实现。
而pdb基本能满足我的需求了,所以在这里只记录一下python pdb的调试方法:
pdb是Python自带的一个库,为Python程序提供了一种交互式的源代码调试功能,包含了现代调试器应有的功能,包括设置断点、单步调试、查看源码、查看程序堆栈等。如果读者具有C或C++程序语言背景,则一定听说过gdb。gdb是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。
有两种不同的方法启动Python调试器,一种直接在命令行参数指定使用pdb模块启动Python文件,如下所示:
python -m pdb test_pdb.py
另一种方法是在Python代码中,调用pdb模块的set_trace方法设置一个断点,当程序运行自此时,将会暂停执行并打开pdb调试器。
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
具体可以参考下这篇文章