Python为什么是一种好的脚本语言?

3
如果你必须选择一种脚本语言,为什么要选择Python?

2
除非转换为社区维基,否则投票关闭为主观。 - Stefano Borini
4
这是一个非常主观的问题。 - ghostdog74
加油!如果你想保存你的问题,把它做成维基页面。不会有人给你留情的... - Ravindra S
那么什么是主观的?这是一个合法的问题,在互联网上搜索可以得到一些理论,但没有具体的答案。因此,我想听听您的意见。这有问题吗? - Moeb
3
是的,即使是民意调查也可以导致维基百科。 - Ravindra S
显示剩余6条评论
8个回答

20

由于其简洁敏捷的语法,它运行速度快,文档齐全,与C语言紧密连接,拥有丰富的库,易于理解,并且不像Perl那样复杂。


1
@Stefano Borini,Perl 有什么问题吗? - Moeb
57
我不喜欢它。 - Stefano Borini
True,False=False,True #(不包括py3k :-)) - user166390
10
我以前从未听过将“快速”这个形容词用于Python代码。 - James Anderson
2
列表和字典方法非常快,因为它们是在Python接口包装器下实现为优化的本地(C)代码。通过timsort进行的Python排序特别快。由于Python标准库的大部分都是用C编写的,因此很难预先知道任何给定代码片段的速度,直到您使用time.timeit()测试。或者你是一个机器人。但它可能会慢或快,这取决于你正在做什么以及如何实现。 - Caleb Hattingh
7
Python非常快* WOOSH {} -- 这就是一个优化的、字符串调整过的哈希表,你无法自己再进行更好的调整。 - u0b34a0f6ae

11

要看你所说的“脚本语言”是什么意思。 如果你的意思是我要在shell提示符下广泛键入它,我希望有Bash或zsh神秘但极简的优点; 如果你的意思是我将不得不将其嵌入到每个应用程序中,其中每个应用程序通常会用于2或3行的“定制”脚本,则可能需要Lua的极简单。 (虽然我可能不太喜欢在Lua中编程,但2-3行确实比“编程”更像“脚本”,而将Lua嵌入到任何东西中的几乎零成本将主导一切)。

Python,就像Perl或Ruby一样,主要用于编写更多实质性的“脚本”(除了通过完全的偏见以外,无法与“程序”区分开来;-) - 在这种情况下,与诸如bash或zsh,lua或tcl之类的“真正的”脚本语言相比,需要考虑非常不同的因素。 基本上,如果你想要一种动态(但强类型)语言,并具备扩展到非常大的软件系统的全部能力,同时非常擅长“与他人玩耍”......那么你肯定有一个特别奇怪的“脚本”定义,我的朋友!-) 但这是Python,Ruby和Perl主要发挥作用的领域 - 在这里,可以就此进行辩论(但其中任何一种都会压倒我所知道的任何其他流行语言 - 是的,我知道并喜欢使用rexx,scheme,Smalltalk和许多其他语言,但没有一种能够与我刚提到的三大语言在这个领域中相提并论)。

但除非你澄清术语,“脚本语言”仍然是一个空洞的,没有意义的声音,围绕它的任何辩论都是完全无用的,毫无意义的。


1
为了真正理解这个术语。 - user166390

2

我认为这取决于你对脚本语言的定义。至少有两种观点。一种是脚本语言应该是可嵌入的,因此核心应该很小(像Lua或Tcl)。第二个观点是用于系统管理的脚本语言,Perl肯定属于这个阵营。

Python是一种通用编程语言,不特别属于任何一个阵营(但也不不适合),可能最适合编写小型或中型程序。


0

0

我会尝试一些“脚本”语言(以及一些具有良好静态类型推断的语言),然后选择最适合问题的语言。

这可能是由于许多原因,包括但不限于:运行时目标和性能(由功能要求决定),库支持(不要一直重复发明轮子),现有工具支持,现有集成支持(如果X支持Y,是否真的可行让X支持Z来使用Z?),以及最重要的主观问题:个人选择和狂热主义 :)

“脚本语言”这个术语绝对可怕——除非您真的是指SH或MIRC“脚本”。短语“动态类型语言”是一个更好的限定词。


0

我以前没有用过Python编程,但我的猜测是可用的库和用户群体的规模。


+1 是指库的大小。PyPI(曾用名Cheese Shoppe)非常庞大,正在成为巨大的库。 - Caleb Hattingh

0

Python非常直观,有大量的库,可以帮助您非常快速地编写脚本。您可以将其用于小型项目或大型项目,并且可以编译为Windows的EXE、Mac的APP或跨平台应用程序。

我认为它可能是迄今为止最干净的语法,可以做从加法到系统调用再到读取各种不同类型的文件的所有事情。甚至可以用它进行Web编程。

我看不出任何理由不推荐使用Python...永远不会。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接