为什么使用Python交互模式?

22 投票
10 回答
11787 浏览
提问于 2025-04-15 21:45

当我刚开始学习Python的时候,所有的教程都让我使用Python的交互模式。对我来说,这种方式很难保存、写长程序或者编辑已有的代码。相比之下,直接打开一个代码.py文件并在那个文件上运行解释器,似乎更简单。

python code.py

我之前是学Java的,所以我习惯了写文件和编译程序的方式。我也知道,如果某个功能在Python的文档中出现得这么频繁,那肯定是有用的。那么我到底错过了什么呢?

10 个回答

5

你是在说通过在控制台输入“python”来运行Python吗?这其实只是用来做一些小测试和练习的。对于学习这门语言和测试其他模块来说,这非常有用。

当然,真正的软件项目都是写在.py文件里的,然后再由解释器来执行这些文件!

13

REPL循环(就像Python的交互模式)可以给程序员提供即时反馈。这样一来,你可以快速编写和测试小段代码,然后把这些小段代码组合成一个更大的程序。

39

我们来看看:

  • 如果你想知道某个东西是怎么运作的,你可以直接试试看。没必要写个文件。我几乎总是在解释器里先随便写写我的程序,然后再正式编码。这不仅仅是针对你不懂的编程语言的东西。比如,我总是记不住怎么用正确的参数来创建像[-2, -1, 0, 1]这样的范围。我也不需要记住。我只要打开解释器,试试,直到我发现原来是range(-2, 2)(我刚刚就这样做了)。

  • 你可以把它当作计算器来用。

  • Python是一种非常自省的编程语言。如果你想了解某个对象的任何信息,只需输入dir(object)。如果你用的是IPython,你甚至可以输入object.<TAB>,它会自动补全这个对象的方法和属性。这比查文档或代码快多了。

  • help(anything)来查看文档。这比任何网页界面都快。

  • 再次强调,你需要使用IPython(强烈推荐),你可以用它来计时。%timeit func1()%timeit func2()是常用的方式来判断哪个更快。

  • 你有多少次想写一个只用一次的程序,然后就不再用了?最快的方法就是直接在Python解释器里做。没错,你在写循环或函数时需要小心(第一次就得用对语法),但大多数东西都是逐行写的,你可以随意尝试。

  • 调试。你不需要在代码里加很多选择性的打印语句来查看变量的值,只需在解释器里输入>>> a,就能看到a的值。这很好,可以检查你构造的东西是否正确。Python的调试器pdb也使用了解释器的功能,所以你不仅可以在调试时查看变量的值,还可以操作甚至更改它,而不需要暂停调试。

当人们说Python开发得更快时,我敢保证这就是他们所说的一个重要原因。

评论者:还有什么我忘记的吗?

撰写回答