Python学习 - 可视化变量赋值、循环、程序运行过程

Python Tutor (http://www.pythontutor.com/)是`Philip Guo`开发的,通过把计算机运行程序代码的过程可视化的展示来帮助克服程序学习最初的障碍。

这款线上工具支持Python 2, Python 3, Java, JavaScript, TypeScript, Ruby, CC++代码。累计有多于180个国家三百五十万多人次使用。通过它可视化运行的代码有三千万之多。

下面的动图展示了一段Python程序的变量赋值,变量交换,列表赋值,列表增删,循环,判断,全局变量在运行时发生的动态变化,方便更好地理解。

# 变量赋值
a = 1
b = 2

# 变量交换
a, b = b, a

# 列表赋值
c = [1, 2, 3]

# 列表增员
c.append(4)

# 列表传址
d = c

# 同时变化
d.append(5)

# 列表传值
e = c[:]

# 单列表改变
e.remove(5)

# 字符串变量
f = 'ehbio'
g = '生信宝典'

# 字符串相加,开辟新内存空间
f = f + g

# 字符串合并推荐方式
i = ''.join([f,g])

# 循环过程和判断
for j in range(5):
    if(j==2):
        print(j)

# 句部变量
def func():
    a = 1
    print(a)

func()

# 全局变量
def func2():
    global a
    a += 1
    print(a)

func2()
print(a)

原文发布于微信公众号 - 生信宝典(Bio_data)

原文发表时间:2018-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏desperate633

设计模式之策略模式(Strategy Pattern)引子设计原则1提取鸭子的的行为设计原则2实现鸭子的行为整合实现我们设计的鸭子类策略模式总结

策略模式,是我们接触到的第一个设计模式,也是较容易理解的一个模式。 我们可以给它下一个定义: ** 定义了算法族,分别封装起来,让它们之间可以互相转换,此模...

9630
来自专栏lgp20151222

Java的常量接口思考,项目中的常量是放在接口里还是放在类里呢?

最近在看一本书 Java与模式,里面提了一句不建议使用常量接口,甚至举了个java源码的反例,

14310
来自专栏小詹同学

Python系列之零——从零说起!!!

2017年可谓是人工智能元年,要问哪个行业最火,詹小白不敢确定,但要问哪个编程语言最热门,好吧,詹小白还是不敢说太满。但是!至少从舆论Pytho...

381100
来自专栏皮皮之路

【JDK1.8】Java 8源码阅读汇总

40270
来自专栏生信宝典

为啥我的Python这么慢 - 项查找 (二)

上一篇为啥我的Python这么慢, 字符串的加和和join被陈群主分享到biopython-生信QQ群时,乐平指出字典的写法存在问题,并给了一篇知乎的链接htt...

19290
来自专栏极客猴

Python 中连接字符串效率最高的方式是哪种呢?

在编码过程中,我们经常需要对字符串进行连接处理操作。如果我们能使用优雅的方式来处理字符串连接,那么程序内存开销会小很多。

10820
来自专栏老九学堂

1分钟彻底理解C语言指针的概念

计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用4个字节,char 占用1个字节。为了正确地访问这些数据,必须为每个字节...

52380
来自专栏老马说编程

计算机程序的思维逻辑 (9) - 强大的循环

循环 上节我们介绍了流程控制中的条件执行,根据具体条件不同执行不同操作。本节我们介绍流程控制中的循环,所谓循环就是多次重复执行某些类似的操作,这个操作一般不是...

21380
来自专栏阮一峰的网络日志

Javascript编程风格

Douglas Crockford是Javascript权威,Json格式就是他的发明。 去年11月他有一个演讲(Youtube),谈到了好的Javascrip...

36060
来自专栏用户1191492的专栏

物联网平台设计文档:精简GC(垃圾回收)

许多高级编程语言的自动内存管理功能让编程变成了比较容易的一件事。然而,嵌入式平台经常缺少这一部分功能,这是有原因的:现代垃圾收集(GC)系统使用的...

29950

扫码关注云+社区

领取腾讯云代金券