对于编程语言初学者一个很大的障碍就是无法理解每一段代码的含义是什么?执行这段代码会发生什么?
理解执行每段代码会发生什么至关重要,这一点对于刷过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这款工具比较适合面临校招的同学,这款工具对于理解算法的执行过程,提升算法理解能力非常有帮助。