为什么使用Python交互模式?
当我刚开始学习Python的时候,所有的教程都让我使用Python的交互模式。对我来说,这种方式很难保存、写长程序或者编辑已有的代码。相比之下,直接打开一个代码.py文件并在那个文件上运行解释器,似乎更简单。
python code.py
我之前是学Java的,所以我习惯了写文件和编译程序的方式。我也知道,如果某个功能在Python的文档中出现得这么频繁,那肯定是有用的。那么我到底错过了什么呢?
10 个回答
你是在说通过在控制台输入“python”来运行Python吗?这其实只是用来做一些小测试和练习的。对于学习这门语言和测试其他模块来说,这非常有用。
当然,真正的软件项目都是写在.py文件里的,然后再由解释器来执行这些文件!
REPL循环(就像Python的交互模式)可以给程序员提供即时反馈。这样一来,你可以快速编写和测试小段代码,然后把这些小段代码组合成一个更大的程序。
我们来看看:
如果你想知道某个东西是怎么运作的,你可以直接试试看。没必要写个文件。我几乎总是在解释器里先随便写写我的程序,然后再正式编码。这不仅仅是针对你不懂的编程语言的东西。比如,我总是记不住怎么用正确的参数来创建像[-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开发得更快时,我敢保证这就是他们所说的一个重要原因。
评论者:还有什么我忘记的吗?