理解执行每段代码会发生什么至关重要,这一点对于刷过LeetCode题目的同学应该感触更加强烈。
实现一个排序、回溯、递归算法,它执行的过程到底是什么样的?为什么有的测试用例总是过不去?
手动一步一步写出来显然是很繁琐的,要么就借助IDE,把每一步的执行结果以调试日志的形式输出到控制台,看一下每一步到底发生了什么。
曾经看过一则消息,VS Code正准备加入可视化调试过程这项功能,这让我颇为期待,但是目前还无法提供这项功能。
本文,就给大家带来一款神器,让编程语言初学者彻底克服编程障碍,让你轻松了解每一段代码背后到底发生了什么。
Python Tutor
Python Tutor[1]是一款在线的代码执行过程可视化工具。
你只需要把需要执行的代码片段粘贴带Python Tutor的编辑框,点击Visualize Execution就可以动态的执行你的代码,并且实时展示每一步的执行过程。
虽然,这款工具的名臣为Python Tutor,但是,它支持的语言却不止Python这一种。它目前支持如下编程语言:
- Python
- Java
- C
- C++
- JavaScript
- TypeScript
- Ruby
其中,支持比较全面的就是Python,对于Python,它支持Python 3.6、Python 2.7、Python with Anaconda。
Python是一门对第三方包依赖很强的一种编程语言,因此,在开发过程中会经常用到numpy、pandas、pprint等工具包。默认的Python 3.6和Python 2.7只有一些标准库,没有第三方包。
所以,如果你执行的代码片段中用到了第三方工具包,可以选择Python with Anaconda,这是因为Anaconda默认会安装常用的工具包。
但是,使用Python with Anaconda的速度会慢一些。
我个人认为,Python Tutor这款工具比较适合面临校招的同学,这款工具对于理解算法的执行过程,提升算法理解能力非常有帮助。