由于其简洁敏捷的语法,它运行速度快,文档齐全,与C语言紧密连接,拥有丰富的库,易于理解,并且不像Perl那样复杂。
{}
-- 这就是一个优化的、字符串调整过的哈希表,你无法自己再进行更好的调整。 - u0b34a0f6ae要看你所说的“脚本语言”是什么意思。 如果你的意思是我要在shell提示符下广泛键入它,我希望有Bash或zsh神秘但极简的优点; 如果你的意思是我将不得不将其嵌入到每个应用程序中,其中每个应用程序通常会用于2或3行的“定制”脚本,则可能需要Lua的极简单。 (虽然我可能不太喜欢在Lua中编程,但2-3行确实比“编程”更像“脚本”,而将Lua嵌入到任何东西中的几乎零成本将主导一切)。
Python,就像Perl或Ruby一样,主要用于编写更多实质性的“脚本”(除了通过完全的偏见以外,无法与“程序”区分开来;-) - 在这种情况下,与诸如bash或zsh,lua或tcl之类的“真正的”脚本语言相比,需要考虑非常不同的因素。 基本上,如果你想要一种动态(但强类型)语言,并具备扩展到非常大的软件系统的全部能力,同时非常擅长“与他人玩耍”......那么你肯定有一个特别奇怪的“脚本”定义,我的朋友!-) 但这是Python,Ruby和Perl主要发挥作用的领域 - 在这里,可以就此进行辩论(但其中任何一种都会压倒我所知道的任何其他流行语言 - 是的,我知道并喜欢使用rexx,scheme,Smalltalk和许多其他语言,但没有一种能够与我刚提到的三大语言在这个领域中相提并论)。
但除非你澄清术语,“脚本语言”仍然是一个空洞的,没有意义的声音,围绕它的任何辩论都是完全无用的,毫无意义的。
我认为这取决于你对脚本语言的定义。至少有两种观点。一种是脚本语言应该是可嵌入的,因此核心应该很小(像Lua或Tcl)。第二个观点是用于系统管理的脚本语言,Perl肯定属于这个阵营。
Python是一种通用编程语言,不特别属于任何一个阵营(但也不不适合),可能最适合编写小型或中型程序。
我会尝试一些“脚本”语言(以及一些具有良好静态类型推断的语言),然后选择最适合问题的语言。
这可能是由于许多原因,包括但不限于:运行时目标和性能(由功能要求决定),库支持(不要一直重复发明轮子),现有工具支持,现有集成支持(如果X支持Y,是否真的可行让X支持Z来使用Z?),以及最重要的主观问题:个人选择和狂热主义 :)
“脚本语言”这个术语绝对可怕——除非您真的是指SH或MIRC“脚本”。短语“动态类型语言”是一个更好的限定词。
我以前没有用过Python编程,但我的猜测是可用的库和用户群体的规模。
Python非常直观,有大量的库,可以帮助您非常快速地编写脚本。您可以将其用于小型项目或大型项目,并且可以编译为Windows的EXE、Mac的APP或跨平台应用程序。
我认为它可能是迄今为止最干净的语法,可以做从加法到系统调用再到读取各种不同类型的文件的所有事情。甚至可以用它进行Web编程。
我看不出任何理由不推荐使用Python...永远不会。
阅读http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
在这篇简短的文章中,您可以看到许多强大的功能和优雅的编程方法。 特别是像defaultdict这样的东西可以使您的代码更短、可读性更高且易于维护。