0

0

python程序的运行过程如何理解?

不言

不言

发布时间:2018-10-20 15:16:48

|

2864人浏览过

|

来源于segmentfault思否

转载

本篇文章给大家带来的内容是关于python程序的运行过程如何理解?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

了解代码的执行过程是编程的基本要求。一个熟练的编程老手只需要用肉眼看着代码,就能对其运行的过程有所了解。然而对于刚接触编程不久的新手来说,这种事情就没那么显而易见了。于是在编写代码和调试代码时,一旦程序的逻辑有些复杂,就像掉进代码的迷宫,完全不知道东南西北。

所以,每当有人对自己的代码没有给出预想结果而百思不得其解,无奈寻求帮助时,我都会建议在程序中增加输出,一方面是根据不同输出的先后顺序来判断程序的运行路径,另一方面则是观察各变量在运行过程中的实际数值,确认是在哪里发生了错误。

还有种方法就是使用 IDE 提供的调试功能,通过添加断点和单步运行,了解程序的运行状态。Visual Studio、Eclipse、xCode 等常见的 IDE 几乎都提供了调试工具。对于 Python,也可以使用 pdb 库来实现断点调试。

上述两种途径应该是大部分程序员 debug 时候的基本套路。但同样的,对于新手来说,即使这样的工具,用起来仍然有些费力。

立即学习Python免费学习笔记(深入)”;

有时我会选择在纸上画出一些流程和图形来向人解释程序,虽然效果会好些,但显然不是一种可以广泛推广的方式。后来意外发现有一款工具满足了此类需求,非常适合新手,可以让你直观地“看”出程序是怎么运行的。对于初学编程,难以理解程序运行过程的苦手来说,绝对可称之为“神器”。

这就是 Online Python Tutor 。一款免费的在线代码运行及演示工具。

项目地址:pythontutor.com

关于此项目的介绍(摘自网络,出处未知):

Online Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在 Web 浏览器中编写 Python 代码,并一步一步可视化地执行程序。

截至 2013 年 12 月,来自 165 个国家和地区共 50 万多人使用了这个在线工具,通常是用作教材、讲义或在线编程指南的补充。每天共执行和演示超过 6,000 段 Python 程序。除了自学的初学者,Online Python Tutor 的用户还包括了那些参加 Coursera、edX 和 Udacity 等在线课程的学生,还有诸如 MIT、UC 伯克利等高校的教师。

  • Python Tutor 支持 2.7 和 3.3 两个版本的 Python。

  • 除了 Python 外,还可运行 Java、JavaScript、TypeScript、Ruby,另外也有支持 C、C++ 的版本。

  • 可以通过一行 JS 代码,把此工具嵌入到你自己的页面中。

  • 也可以生成链接,把你的代码直接分享给别人。

  • 附带单元测试功能。

    DESTOON B2B网站管理系统
    DESTOON B2B网站管理系统

    DESTOON B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。

    下载
  • 网站上还提供了很多的实例,其中包括一些比较经典的算法。

再来体验一下其使用过程:

在编辑器里输入代码,点击 “Visualize Execution” 即可运行并演示。

import random

def fn(x):
    return x**2

result = []
for i in range(3):
    t = random.randint(1, 10)
    print t
    r = fn(t)
    result.append(r)
print result

我用了段包含循环、列表、函数、模块的代码片段。看看效果如何:

3002374725-5bcac9b6bbd87_articlex.jpg

左上是代码,箭头表示当前运行到的位置。

通过下面的按钮和进度条可以直接控制程序的进行。

左下是输出。

右边就是程序的可视化模拟。在这个例子里,可以清楚地看到过程中变量的变化,何时调用了函数等信息。

不过同很多在线运行环境一样,Python Tutor 不支持运行过程中的输入功能。所以没法把我们的猜数字或是罚点球的小游戏直接放上去运行。希望以后能够增加此功能。

借助 Python Tutor,可以更轻松地理解一些算法。最后放一个冒泡排序的实现,[](http://crossin-forum.b0.upaiy...

298246201-5bcac9b6d28fc_articlex.jpg

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

724

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

628

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

744

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1236

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

575

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

702

2023.08.11

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 2.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号