包含python闭包函数优势的词条( 八 )


请点击输入图片描述
▲《Python学习手册》书封上的爬行动物
这段有趣的历史无疑增加了Python代码例子的幽默属性 。例如,作为一般变量名命名传统的“foo”和“bar”在Python世界中变成了“spam”和“eggs” 。而在Python中偶尔出现的“Brian” , “ni”和“shrubbery”表现得也同此类似 。它甚至影响了Python的整个社区 。
当然了,如果你对这部喜剧非常熟悉,就能体会这其中的笑点 , 但如果不熟悉则相反 。你不必非得熟悉Monty Python这部剧来了解从剧中获得灵感的例子(包括你将在本书中看到的许多例子),但至少你现在知道它们的起源了 。(嗨——我已经告诉你啦 。)
02
Python和其他语言比较起来怎么样
最后,你也许已经知道了 , 人们往往将Python与Perl、Tcl和Javat等语言相比较 。这部分总结这方面的一些普遍共识 。
我想预先表明我个人并不喜欢通过诋毁竞争者来获胜——这在长期是行不通的,而且也不是这里的目的 。此外 , 这并不是一场零和游戏——绝大多数的程序员在他们的职业生涯中都会使用许多语言 。尽管如此,编程工具也展示出值得考虑的选择和权衡 。毕竟,如果Python没有比它的竞争者提供更多的东西,那么它一开始就不会被人们使用了 。
请点击输入图片描述
我们之前已经介绍过性能上的权衡,那么这里重点谈一下功能 。尽管下面列举的这些语言也是值得学习和使用的有力工具,但人们通常认为Python:
比Tcl强大 。Python强有力地支持“大规模编程” , 使其适用于开发大型系统,它的应用程序库也更加丰富 。
比Perl更具可读性 。Python有着简洁的语法和简单连贯的设计 , 这反过来使得Python更具可读性和更易于维护,同时有助于减少程序bug 。
比Java和C#更简单、更易于使用 。Python是一门脚本语言,但Java和C#两者从像C++这样更加大型的OOP系统语言中继承了许多语法和复杂性 。
比C++更简单、更易于使用 。Python代码比等效的C++代码更加简单,长度只有其五分之一到三分之一 。尽管作为脚本语言 , Python有时能扮演许多不同的角色 。
比C更加简单和高级 。Python远离底层硬件架构从而降低了代码复杂性,拥有更好的组织结构,并比C(C++的祖先)更加友善 。
比Visual Basic更强大,用途广泛 , 也更具备跨平台特性 。Python是更加广泛使用的更丰富的语言,它的开源本质意味着它不可能被某一个公司所掌控 。
比PHP更易懂并且用途更广 。Python也用来构建Web站点,但是 , 它也应用于几乎每个计算机领域,从机器人到电影动画和游戏 。
比JavaScript更强大和用途广泛 。Python有一个更大的工具集,也并不是牢牢地束缚于Web开发 。它也用于科学建模、仪器调试等 。
比Ruby更具可读性,并更为人们所接受 。Python的语法混乱更少,尤其在较复杂代码中,同时它的OOP对用户和和不太使用OOP的工程中是完全可选的 。
比Lua更成熟和受到更广泛关注 。Python更加庞大的特性集合和更加扩展的库支持给予其比Lua(一门和Tcl一样的嵌入式“胶水”语言)更加宽广的视野 。
比SmallTalk、Lisp和Prolog更不晦涩 。Python拥有这类函数式语言的动态品味,但是也拥有开发者和定制系统终端用户都可接受的传统语法 。
特别是对不仅仅用于个人扫描文本文件,未来会被人们(包括你在内)读到的程序而言,很多人会发现Python比目前任何可用的脚本或编程语言都划得来 。不仅如此,除非你的应用要求最尖端的性能,Python往往是C、C++和Java等系统开发语言的一个不错的替代品:Python代码能够常常实现相同的目标,却会减少很多编写、调试和维护的麻烦 。

推荐阅读