对于编程语言初学者一个很大的障碍就是无法理解每一段代码的含义是什么?执行这段代码会发生什么?

理解执行每段代码会发生什么至关重要,这一点对于刷过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是一门对第三方包依赖很强的一种编程语言,因此,在开发过程中会经常用到numpypandaspprint等工具包。默认的Python 3.6和Python 2.7只有一些标准库,没有第三方包。

所以,如果你执行的代码片段中用到了第三方工具包,可以选择Python with Anaconda,这是因为Anaconda默认会安装常用的工具包。

但是,使用Python with Anaconda的速度会慢一些。

我个人认为,Python Tutor这款工具比较适合面临校招的同学,这款工具对于理解算法的执行过程,提升算法理解能力非常有帮助。

参考资料Python Tutor: http://www.pythontutor.com/visualize.html#mode=edit

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方“小詹学Python”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心。

- End -

最后说一个题外话,相信大家有不少人开通了视频号。小詹也开通了一个视频号,会分享互联网那些事、读书心得与副业经验,欢迎各位扫描下方二维码关注。

一款在线工具,克服Python、Java等7种语言编程障碍相关推荐

  1. java arm 编译器下载_最全盘点:18款在线C/C++/Py/Java编译器,一个比一个强大(附地址)...

    1.Ideone Ideone是C / C ++,Java,PHP,Python,Perl和40+编译器和解释器,支持其他的60种语言.这个工具提供许多强大的功能,允许程序员快速高效的编译源代码.在编 ...

  2. 因为知道了30+款在线工具,我的工作效率提升500%!

    GitHub 15.2k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.2k Star 的Java工程师成神之路,不来了解一下吗! Perl 之父 Larry Wall 曾 ...

  3. 超好用的5款开发工具,Python初习者必看

    很多Python初习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,小千就把Python程序员使 ...

  4. 基于新浪微博API生成短链接的几款在线工具

    需求背景 很多人在营销推广中都要使用到短链接,新浪短链接则是大家最先接触到的,服务也很稳定,所以需求量也很大.据不完全统计,大概每天有几十亿条t.cn短链接生成.如此巨大的数量,难道都是先登录新浪微博 ...

  5. 别用微信文件传输助手了,这6款在线工具真香

    大家好,我是一航! 日常的工作,经常需要做电脑与手机同步.临时的文件共享.保存等:大部分时候,我们都是通过微信来传输,微信虽然方便,但是也存在一些弊端,比如,分享必须是好友.文件大小上限1G.敏感数据 ...

  6. c常用算法程序集_10万赞的AI算法集:含python,java,C,C++多种语言

    先声明这篇文章的基础来自网络,问题是,文章只说有这么一个githab账号,没有给地址,我也是搜了半天才找到,发现这个账号下有很多种语言的算法实现,直接上图: 上面有地址,不能加链接,抱歉 所有算法都在 ...

  7. java xml开源操作类,xml解析和操作的开源工具项目涵盖java c++ php 等语言

    XML解析器-Xerces    XML操作库-dom4j    XML文档解析器-Digester    J2ME-的XML-解析器-kXML XML解析类库-MXP1    XML解析器-LibX ...

  8. C++/Python/Java/C,四大语言对比,你更喜欢哪种?

    现如今,互联网时代已经是风生水起,IT技术人才更是层出不穷.但学习在精不在多,总要有一方面精通才是自己的资本.面对众多的编程语言,Java.C语言.C++.Python等编程,你更喜欢哪种? 虽说C语 ...

  9. php是java语言吗_PHP和Java是两种语言对吗

    本文讲解PHP和java分别是什么语言,方便小伙伴们区分,希望对大家有帮助. 编程范式: Java:纯面向对象的语言,有人说过:Java中一切皆对象!当然咯,人们都忘了Java的八种基本数据类型:in ...

最新文章

  1. 【WPF】使用控件MediaElement播放视频
  2. python 笔记:装饰器
  3. c++创建二叉树_数据结构:查找(4)|| 平衡二叉树
  4. 03-postgresql报错ERROR: operator does not exist: numeric = character varyin
  5. oracle 11g crs stat,Oracle 11g RAC CRS磁盘丢失后恢复
  6. python—contour绘制轮廓线(等高线)
  7. 线性代数与矩阵论 定理 1.3.9 唯一析因定理
  8. Linux中文件查找方法大全
  9. Python 根据起始时间和结束时间计算时长
  10. 设计模式回顾——模板模式(C++)
  11. B-spline Curves 学习之B样条曲线定义(4)
  12. 7-22 龟兔赛跑 (20分) Python
  13. 论文阅读笔记《Learning for Disparity Estimation through Feature Constancy》
  14. python实训报告万能模板_(完整word版)实训报告万能模板
  15. Ubuntu20.04安装cuda10.1
  16. 计算机系统:基本知识
  17. matlab tic tac toe,详解Tic-Tac-Toe人工智能实现
  18. Ubuntu16.04+CUDA8.0+cudnn5.1+TensorFlow-GPU详细安装步骤
  19. CSDN博客背景皮肤设置
  20. 【论文笔记】ObjectBox: From Centers to Boxes for Anchor-Free Object Detection

热门文章

  1. PHP秒杀系统全方位设计分析--转载
  2. svn命令行工具安装使用(windows)
  3. php常用的四种排序算法
  4. elasticsearch 索引存储深入详解
  5. Yii的查询后缀限定
  6. java 切面获取参数_每天分享一点Java知识(spring-aop)
  7. tp5 sum某个字段相加得到总数
  8. matlab删失数据威布尔,基于混合I型删失数据威布尔模型的可接受抽样计划
  9. netty web 容器_Netty 实战:如何编写一个麻小俱全的 web 框架
  10. react封装函数_React-Router源码解读