直接语言讲解和代码打印仍然不够直观,所以可以借助 2 个工具,一个是 Python Tutor 代码可视化工具:http://pythontutor.com/visualize.html#mode=edit;一个是 vscode 的调试功能。

代码可视化

在这里输入代码,点可视化执行过程按钮

用四个按钮控制代码执行过程

可以看到,随着代码的执行,全局变量 global_var 在函数内部被修改,没有用 global 声明的 变量 no_global_var 在 demo 函数自己的帧中被修改,全局空间中的 no_global_var 值仍然是 2 。

vscode 调试

在第 10 行打断点,并用 vscode 调试代码,单步执行。左侧 locals 和 globals 显示不同作用域中的变量。

可以看到 locals 和 globals 相同

进入函数内部,第 6 行执行之前,locals 中没有内容,是因为 函数内部还没有开始执行

执行到第 8 行。

讲解代码的时候,也要讲解如何调试。借助代码执行过程可视化工具和 vscode 等编辑器的调试功能中的步进,步进可以很好的演示代码的执行过程,也可以很好的调试代码,理解变量作用域、函数调用帧、全局局部变量值的变化, vscode 还可以详细看到除了自定义变量之外各种内置的变量,为分析 Python  代码的运行机制提供了帮助。

以上。

html将变量打印到屏幕_用可视化过程解释代码运行过程和变量作用空间相关推荐

  1. 冒泡排序c++代码_八大排序算法(解释+代码+结果+算法优化)

    >>>欢迎点赞,收藏,转发! 评论区获取源代码与更多更全干货!<<< 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,不需要访问外存便能完成 ...

  2. zpl指令打印中文内容_大疆机甲大师Python开发: 中文命名变量初尝试

    简言之, 官方例程中的Twister程序, 略加修改添加了一个中文变量, 运行成功! def start()速度 = 120...chassis_ctrl.set_rotate_speed(速度)gi ...

  3. vb代码在mysql里运行_请问VB能否在程序运行过程中将变量的值赋给数据库的字段? - VB6论坛 - 编程论坛...

    谁说ADO只能读取文本框的东西了? 那是ADODC控件,而不是ADO对象,况且ADODC也可以赋值啊,ADODC也不只有用绑定控件这种笨办法,大可以这样啊:Text1.Text=ADODC1.Reco ...

  4. python保存变量_python – 在代码运行之间保存变量的数据

    对于一个学校项目,我正在用 Python制作一个刽子手游戏.现在我的代码从字典中选择一个单词,如下所示: WordList = ["cat", "hat", & ...

  5. java程序中可以如何异常处理?_如何处理罗茨鼓风机在运行过程中出现异常噪音和叶片的运行特性...

    罗茨鼓风机叶片的运行特性: 1.后叶片类型的叶片突出而重要的特点是无过载功率.它消除了对超大电机或其他驱动器的需求.常规叶片的正常工作静态效率范围为65-80%,流线型设计的通常工作静态效率范围为80 ...

  6. linux执行python不打印_在Python中执行shell程序而不打印到屏幕

    有没有一种方法可以让我从Python执行一个shell程序,它将输出打印到屏幕上,然后将它的输出读入变量而不在屏幕上显示任何内容?在 这听起来有点令人困惑,所以也许我可以用一个例子来解释它.在 假设我 ...

  7. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)

    下面就为大家分享一篇使用Python将数组的元素导出到变量中(unpacking),具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 最近工作中遇到一个问题,需要利用Python将数组(list ...

  8. 自定义变量 配置文件_「系统架构」Nginx调优之变量的使用(3)

    在上一篇文章「系统架构」Nginx调优之变量的使用(2)中我们介绍了自定义变量和内置变量,下面我们继续接着介绍Nginx中变量的可见性和动态内置变量. 变量的可见性 nginx中的变量虽然不全是全局变 ...

  9. group by rollup 变量名为空值_【Python学习笔记】07、数据类型和变量

    在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,包括负整数,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整 ...

最新文章

  1. Kubernetes文章汇总
  2. Win2008 server backup系统备份组件安装
  3. Visual BERT论文的简单汇总
  4. php文件名函数,php 获取文件名basename()函数的用法总结
  5. python的业务场景_python| Binlog务应用场景
  6. 简述大数据的数据管理方式_智能销售服务商荣登TOP100榜,大数据线上获客方式再得认可...
  7. 如何使用exclipse打开已有的文件夹
  8. python中减法运算函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?...
  9. 耍了一下 UncaughtErrorEvents
  10. .net core sorteddictionary 排序_#键盘排序——为什么我们的键盘字母不是按照ABCD的顺序排列?...
  11. 【图像重建】基于matlab迭代步长自适应图像超分辨重建【含Matlab源码 048期】
  12. 各种波形文件(wlf/vcd/fsdb/shm/vpd)的区别及生成方法(转)
  13. [2018.05.05 T2] 互质2
  14. win10电脑亮度调节失灵(win10电脑亮度调节失灵戴尔)
  15. 六西格玛dfss_六西格玛设计(DFSS)的方法和知识
  16. Hololens动态显示图片
  17. macbook配置java环境变量_Mac怎么配置JDK环境变量 安装JDK并配置环境变量教程
  18. 使用Mysql函数生成指定的自增序列号
  19. 本周大新闻|谷歌眼镜企业版正式停售;Meta重组大裁员
  20. DBA在项目中的角色

热门文章

  1. 在linux上面合并多个windows文件乱码的问题
  2. noip2014滚粗记
  3. 深入了解Oracle前滚恢复rolling forward(一)
  4. 在内部循环中Continue外部循环
  5. windows 下搭建Web服务器
  6. 维基链连续3日暴涨接近100%,能否延续夏日神话?
  7. 诺贝尔奖得主Paul Krugman认可bch发展路线
  8. 去除文件名中的'.'符号
  9. 如果修改postgresql的最大连接数
  10. Java SE 8 在并发工具方面的加强