系统相关
首页 > 系统相关> > python IDLE可以用于迭代/内存开发吗?

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

作者:互联网

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

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

解决方法:

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

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

相反,你可以在一个好的文本编辑器中编写代码

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

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

标签:python-idle,python
来源: https://codeday.me/bug/20190902/1789881.html