python的编码速度和最干净

python的编码速度和最干净,python,Python,Python非常干净,我可以快速编写整洁的应用程序。 但是我注意到我在某个地方出现了一些小错误,我在编译时没有发现错误,而是在运行时发现了错误。然后我需要更改并再次运行脚本。有没有办法让它中断,让我修改并运行 另外,我不喜欢python没有枚举。如果我要编写代码,需要很多枚举和类型,我应该在C++中做吗?在C++中我感觉更快了。 < P> >“我在编译时没有发现错误,但在运行时”>P/> 对。适用于所有非编译解释语言 “我需要更改并再次运行脚本” 也对。适用于所有非编译解释语言 “有没有办法让

Python非常干净,我可以快速编写整洁的应用程序。 但是我注意到我在某个地方出现了一些小错误,我在编译时没有发现错误,而是在运行时发现了错误。然后我需要更改并再次运行脚本。有没有办法让它中断,让我修改并运行

另外,我不喜欢python没有枚举。如果我要编写代码,需要很多枚举和类型,我应该在C++中做吗?在C++中我感觉更快了。

< P> <强> >“我在编译时没有发现错误,但在运行时”>P/> 对。适用于所有非编译解释语言

“我需要更改并再次运行脚本”

也对。适用于所有非编译解释语言

“有没有办法让它中断,让我修改并运行?”

什么

如果是运行时错误,脚本将中断,请修复它并重新运行

如果这不是一个正确的错误,而是某种逻辑问题,那么程序将完成,但无法正常工作。没有一种语言能预测你所希望的,并为你中断

或者你是指别的什么

“…需要大量枚举的代码”

您需要提供需要大量枚举的代码示例。我已经编写Python多年了,对枚举没有任何用处。事实上,我一直在编写C++,也不使用枚举。 您必须提供需要大量枚举的代码作为特定示例。也许在另一个问题中,我们会问“什么是所有这些枚举的Pythonic替换?”


它通常是多态类定义,但没有示例,很难确定。

Python是一种解释语言,没有编译阶段,至少用户看不到编译阶段。如果出现错误,请返回,修改脚本,然后重试。如果脚本的执行时间很长,并且不想停止重新启动,则可以尝试pdb之类的调试器,使用它可以在运行时修复一些错误


有很多方法可以实现枚举,谷歌快速搜索“PythonEnum”可以提供您可能需要的一切。然而,你应该研究你是否真的需要它们,以及是否有更好、更“pythonic”的方法来做同样的事情。

使用解释语言,你有很大的自由。自由在这里也不自由。虽然解释器不会在认为您的代码值得运行之前折磨您打点每一个i和穿过每一个t,但它也不会尝试静态分析您的代码以解决所有这些问题。所以你有几个选择

1) {Pyflakes、pychecker、pylint}将对代码进行静态分析。这主要解决了语法问题

2) 测试驱动的开发与测试或类似的将帮助您。如果您进行的代码更改破坏了现有代码,测试将失败,您将知道这一点。这实际上比静态分析好,而且速度也一样快。如果您首先进行测试,那么您将在测试运行时而不是程序运行时检查所有代码

请注意,使用1&2比只使用静态类型编译器要好一点。即便如此,它也无法证明正确性


您的测试可能会错过应用程序实际运行所需的一些管道。如果发生这种情况,您可以通过编写更多的测试来修复它。但你仍然需要启动应用程序,然后打开它,看看哪些测试应该编写,哪些没有编写

您可能需要研究这样的东西,当您将更改保存到文件时,它会定期运行单元测试。您还可以设置一个保存事件触发器,以便在保存文件时在后台运行单元测试(如使用Komodo Edit)


也就是说,我要做的是绑定F7键以在当前目录和子目录中运行单元测试,绑定F6键以在当前文件上运行。频繁使用这些工具可以让我很快发现错误。

有一种方法可以在出现异常时中断,修改代码并运行它
pycopia
允许它(脚本应该从交互提示启动)。第二个“适用于所有非编译解释语言”对于大多数版本的lisp或smalltalk不是真的。在lisp和error中启动调试器,您可以修改代码,然后返回到程序中的位置。哇,老问题。我对此不感兴趣。我记得这个特定的项目(我最大的python)。我使用枚举表示服务器不可用、错误、错误404、忙等状态。我还将其存储在特定时间的数据库中(如在作业中间,如果用户想要停止/暂停)“我使用枚举表示服务器不可用、错误、错误404、忙等状态”?为什么?为什么不用语言呢?