python IDLE可以用于迭代/内存开发吗?

时间:2012-04-05 15:22:58

标签: python python-idle

我不确定我是否正确地说明了这个主题,但基本上我很好奇是否有人可以在Python IDLE或类似工具中开发代码,然后通过一些命令吐出当前的代码记忆。我相信我之前在阅读Lisp书时已经这样做了,并且回想起它与通常重新运行静态文件的方法截然不同。有关如何做到这一点或类似的任何建议?感谢

UPDATE 我最终使用了IDLE使用execfile和reload命令的组合,同时在单独的编辑器(eclipse / pydev)中编辑代码。我改变了我的" main"文件,以便在调用execfile时不会立即执行任何操作。主文件和导入的模块中的代码被加载到当前作用域/堆栈中,以便我编写新代码或发生错误,我可以直接在IDLE命令行中进行测试。一旦我找到问题或前进的方法,我就在编辑器中更新代码,运行reload(module)以获取更新的模块,然后在主文件上运行execfile(path)。

1 个答案:

答案 0 :(得分:5)

这对LISP来说是明智的原因是每个LISP程序只是一堆宏和函数,并且s表达式可以自动格式化为一个很好的表示。

在Python中不是这种情况,你有更复杂的语法(重要的空白,装饰器,大量的控制结构,不同类型的字符串文字......)和更多的语义元素(类,函数,顶部 - 级别代码,...),所以这种方法在这里不会很好用。即使是最小的项目,生成的代码也会变得非常混乱,结果代码仍然需要大量的“后期处理”,这有点扼杀了开发优势的速度。

相反,您可以在优秀的文本编辑器中编写代码并

  • 使用内置功能将其与REPL集成(EMACS和Vim对此类内容有很好的支持)或
  • 使用execfile将其加载到REPL中,这将为您提供良好的文本编辑和提示的交互性。
  • 与程序一起编写一套单元测试。这适用于任何非平凡的软件并自动测试代码,因此您必须花更少的时间在交互式提示中,手动检查函数是否正常工作。

您还可以获得功能更全面的IDE,支持代码评估和全面调试(PyDev就是一个例子,感谢s2222)。