为什么要使用Python交互模式?

时间:2010-04-19 01:39:16

标签: python interactive-mode python-interactive

当我第一次开始阅读有关Python的内容时,所有教程都使用了Python的交互模式。保存,编写长程序或编辑现有行很困难(至少对我来说)。编写Python代码似乎比打开code.py文件并在该文件上运行解释器要困难得多。

python code.py

我来自Java背景,所以我已经根深蒂固地希望为程序编写和编译文件。我也知道,如果某个功能在某些方面没有用处,那么它在Python文档中就不那么突出了。那我错过了什么?

10 个答案:

答案 0 :(得分:36)

让我们看看:

  • 如果你想知道某些东西是如何工作的,你可以尝试一下。无需编写文件。在编码之前,我几乎总是在解释器中编写程序。这不仅仅是因为你不知道它们如何在编程语言中工作。我永远不会记得范围的正确参数是什么,例如,[ - 2,-1,0,1]。我不需要。我只需启动解释器并尝试一些东西,直到我发现它是range(-2, 2)(实际上就是这样做了)。

  • 您可以将其用作计算器。

  • Python是一种非常内省的编程语言。如果您想了解有关对象的任何信息,可以dir(object)。如果你使用IPython,你甚至可以object.<TAB>,它将选项卡完成该对象的方法和属性。这比在文档甚至代码中查找内容要快得多。

  • help(anything)用于提供文档。它比任何Web界面都快。

  • 同样,你必须使用IPython(强烈推荐),但你可以计时。 %timeit func1()%timeit func2()是确定更快速度的常用习惯用语。

  • 您多久想要编写一个程序来使用一次,然后再也不会。最快的方法是在Python解释器中执行此操作。当然,你必须小心编写循环或函数(它们必须在第一次使用正确的语法),但大多数东西都是逐行的,你可以随意使用它。

  • 调试。您不需要在代码中放置选择性打印语句,以查看在解释器中编写变量时的变量。您只需键入>>> a,它就会显示a是什么。很高兴看看你是否正确构建了一些东西。构建Python调试器pdb也使用intrepeter功能,因此您不仅可以在调试时查看变量,还可以操作甚至更改而不停止调试。

当人们说Python开发速度更快时,我保证这是他们所谈论的内容的重要部分。

评论者:我忘了什么?

答案 1 :(得分:13)

REPL Loops(与Python的交互模式一样)为程序员提供即时反馈。因此,您可以快速编写和测试一小段代码,并将这些代码组合成一个更大的程序。

答案 2 :(得分:5)

你是在谈论在控制台中运行Python只需输入“python”?这仅适用于小测试和练习语言。在学习语言和测试其他模块时非常有用。

当然,任何真正的软件项目都是用.py文件编写的,后来由解释器执行!

答案 3 :(得分:2)

Python解释器是一个最不常见的分母:你可以在多个平台上运行它,它的行为方式相同(模块特定于模块的模块),因此很容易让新手上手。

告诉新手启动解释器和“执行此操作”比让他们打开文件,键入一些代码,保存它们,使其可执行,确保python在您的PATH中,或者使用它要容易得多一个 #!线等等。废弃所有这些,然后启动解释器。举个简单的例子,你无法击败它。它从来不适用于长程序,所以如果你使用它,你可能会错过教程中告诉你“更长的脚本进入文件”的部分。 :)

答案 4 :(得分:2)

在将代码片段放入脚本之前,使用交互式解释器来测试代码片段。

答案 5 :(得分:2)

我发现交互式解释器非常非常适合测试快速代码,或者向其他人展示Python的强大功能。有时候我也会使用翻译作为一个方便的计算器。你能在很短的时间内做到这一点令人惊讶。

除了内置控制台,我还必须推荐Pyshell。它具有自动完成功能,并具有良好的语法突出显示功能。您还可以一次编辑多行代码。当然,它并不完美,但肯定比默认的python控制台更好。

答案 6 :(得分:2)

如前所述,Python交互式解释器提供了一种快速而简单的方法来测试简单的Python函数和/或代码片段。

我个人使用Python shell作为执行简单数值运算的快速方法(由math模块提供)。我有我的环境设置,所以每当我启动Python shell时都会自动导入math模块。事实上,它是将Python推向非Pythoniasts的好方法。向他们展示如何使用Python作为一个整洁的科学计算器,以及简单的数学原型。

答案 7 :(得分:2)

有一件事我使用交互模式,其他人没有提到:要查看是否安装了模块。只需启动Python并尝试import模块;如果它死了,那么你的PYTHONPATH就会坏掉或者没有安装模块。

这是“嘿,它不能在我的机器上工作”或“哪个Python安装了,无论如何”错误的第一步。

答案 8 :(得分:1)

在Java中编码时,您几乎总是会在某些浏览器窗口中打开API。但是使用python解释器,您始终可以导入您正在考虑使用的任何模块并检查它提供的内容。您还可以测试您不确定的新方法的行为,以消除“哦!这就是它的工作原理”作为错误的来源。

答案 9 :(得分:0)

交互模式可以在将代码片段合并到更大的程序之前轻松测试代码片段。如果您使用IDLE,则可以使用语法突出显示和参数弹出窗口来帮助您。这也是一种快速检查您是否已经找到如何使用模块而无需编写测试程序的方法。