一款在線工具,克服Python、Java等7種語言編程障礙
對于編程語言初學者一個很大的障礙就是無法理解每一段代碼的含義是什么?執行這段代碼會發生什么?
理解執行每段代碼會發生什么至關重要,這一點對于刷過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這款工具比較適合面臨校招的同學,這款工具對于理解算法的執行過程,提升算法理解能力非常有幫助。