Python何以让人着迷

上传人:飞*** 文档编号:39953522 上传时间:2018-05-21 格式:DOC 页数:5 大小:38.50KB
返回 下载 相关 举报
Python何以让人着迷_第1页
第1页 / 共5页
Python何以让人着迷_第2页
第2页 / 共5页
Python何以让人着迷_第3页
第3页 / 共5页
Python何以让人着迷_第4页
第4页 / 共5页
Python何以让人着迷_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Python何以让人着迷》由会员分享,可在线阅读,更多相关《Python何以让人着迷(5页珍藏版)》请在金锄头文库上搜索。

1、 本文由 gao_yingju 贡献doc 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。? ?不老的新丁 Python 何以让人着迷http:/ 2010-09-15 14:53 Wesley Chun Python 核心编程 我要 评论(2)为什么要学习 Python?Python 的特点是什么?这里借用一位大师的话:他的语言是与 时代 同步,而 Python 则是未雨绸缪,而且计划得颇为出色。下面就让我们走进 Python 的世界, 感受 Python 的力量。 Python 是一门美丽的语言。它简单易学,跨平台,而且 运转良好。达成了许多 Java

2、 一 直求索的技术目标。一言以蔽之就是:其他的语言是与时 代同步,而 Python 则是未雨绸缪, 而且计划得颇为出色。当然,这句话出自一位大师之 言。为什么要学习 Python 呢?Python 果真就有这么大的魅力吗? 51CTO 推荐阅读:全能 选手 看看 Python 应乎潮流的 72 变 特点 尽管 Python 已经流行了超过 15 年, 但是一 些人仍旧认为相对于通用软件开发产业而言, 它还是个新丁。我们应当谨慎地使用“相对” 这个词,因为“网络时代”的程序开发,几年看上 去就像几十年。 当人们询问:“什么是 Python?”的时候,很难用任何一个具象来描述它。人们更倾向于 一口

3、气不加思索地说出 他们对 Python 的所有感觉,Python 是(请填写)_,这些特点究 竟又是什么呢?为了让 你能知其所以然,我们下面会对这些特点进行逐一地阐释。 高级 伴随着每一代编程语言的 产生, 我们会达到一个新的高度。 汇编语言是上帝献给那些挣 扎在机器代码中的人的礼 物,后来有了 FORTRAN、C 和 Pascal 语言,它们将计算提升到了 崭新的高度,并且开创 了软件开发行业。伴随着 C 语言诞生了更多的像 C+、Java 这样的 现代编译语言。 我们 没有止步于此, 于是有了强大的、 可以进行系统调用的解释型脚本语言, 例如 Tcl、Perl 和 Python。 这些语言

4、都有高级的数据结构,这样就减少了以前“框架”开发需 要的时间。像 Python 中的列表(大小可变的数组)和字典(哈希表)就是内建于语言本身 的。在核心语言中提供 这些重要的构建单元,可以鼓励人们使用它们,缩短开发时间与代 码量,产生出可读性更好 的代码。 在 C 语言中,对于混杂数组(Python 中的列表)和哈 希表(Python 中的字典)还没有 相应的标准库,所以它们经常被重复实现,并被复制到每 个新项目中去。这个过程混乱而且容易产生错误。C+使用标准模版库改进了这种情况,但是标准模版库是很难与 Python 内 建的列表和字典的简洁和易读相提并论的。 面向对象 建议: 面向对象编程为

5、数据和逻 辑相分离的结构化和过程化编程添加了新的活力。 面向 对象编程支持将特定的行为、 特 性以及和/或功能与它们要处理或所代表的数据结合在一起。 Python 的面向对象的特性是 与生俱来的。然而,Python 绝不想 Java 或 Ruby 仅仅是一门面 向对象语言,事实上它融 汇了多种编程风格。例如,它甚至借鉴了一些像 Lisp 和 Haskell 这样的函数语言的特性。可升级 大家常常将 Python 与批处理或 Unix 系统下的 shell 相提并论。简单的 shell 脚本可以用 来处理简单的任务,就算它们可以在长度上(无限度的)增长,但是功能总会 有所穷尽。 Shell 脚本

6、的代码重用度很低,因此,你只能止步于小项目。实际上,即使一 些小项目也可 能导致脚本又臭又长。Python 却不是这样,你可以不断地在各个项目中完善 你的代码,添 加额外的新的或者现存的 Python 元素,也可以重用您脑海中的代码。 Python 提倡简洁的代 码设计、 高级的数据结构和模块化的组件, 这些特点可以让你在提 升项目的范围和规模的同 时,确保灵活性、一致性并缩短必要的调试时间。 “可升级”这 个术语最经常用于衡量硬件的负载, 通常指为系统添加了新的硬件后带来的 性能提升。 我们乐于在这里对这个引述概念加以区分, 我们试图用“可升级”来传达一种观念, 这就 是:Python 提供

7、了基本的开发模块,你可以在它上面开发你的软件,而且当这些需要 扩展 和增长时,Python 的可插入性和模块化架构则能使你的项目生机盎然和易于管理。 可扩展 就算你的项目中有大量的 Python 代码,你也依旧可以有条不紊地通过将其分离为多个 文 件或模块加以组织管理。 而且你可以从一个模块中选取代码, 而从另一个模块中读取属性。更棒的是,对于所有模块,Python 的访问语法都是相同的。不管这个模块是 Python 标准 库 中的还是你一分钟之前创造的,哪怕是你用其他语言写的扩展都没问题!借助这些特点, 你 会感觉自己根据需要“扩展”了这门语言,而且你已经这么做了。 代码中的瓶颈, 可 能是

8、在性能分析中总排在前面的那些热门或者一些特别强调性能的地 方,可以作为 Python 扩展用 C 重写。 。需要重申的是,这些接口和纯 Python 模块的接口是 一模一样的,乃至 代码和对象的访问方法也是如出一辙的。唯一不同的是,这些代码为性能 带来了显著的提 升。自然,这全部取决你的应用程序以及它对资源的需求情况。很多时候, 使用编译型代 码重写程序的瓶颈部分绝对是益处多多的,因为它能明显提升整体性能。程序设计语言中的这种可扩展性使得工程师能够灵活附加或定制工具,缩短开发周期。 虽然像 C、C+乃至 Java 等主流第三代语言(3GL)都拥有该特性,但是这么容易地使用 C 编写扩展确实是

9、Python 的优势。此外,还有像 PyRex 这样的工具,允许 C 和 Python 混 合编 程,使编写扩展更加轻而易举,因为它会把所有的代码都转换成 C 语言代码。因为 Python 的标准实现是使用 C 语言完成的(也就是 CPython) ,所以要使用 C 和 C+编写 Python 扩 展。Python 的 Java 实现被称作 Jython,要使用 Java 编写其扩展。最后,还 有 IronPython, 这是针对.NET 或 Mono 平台的 C#实现。你可以使用 C#或者 VB.Net 扩 展 IronPython。 可移植性 在各种不同的系统上可以看到 Python 的身

10、影,这是由于在今 天的计算机领域,Python 取得了持续快速的成长。因为 Python 是用 C 写的,又由于 C 的可移植性,使得 Python 可以 运行在任何带有 ANSIC 编译器的平台上。尽管有一些针对 不同平台开发的特有模块,但是 在任何一个平台上用 Python 开发的通用软件都可以稍事 修改或者原封不动的在其他平台上 运行。这种可移植性既适用于不同的架构,也适用于不 同的操作系统。 易学 Python 关键字少、结构简单、语法清晰。这样就使得学习者可以在 相对更短的时间内 轻松上手。对初学者而言,可能感觉比较新鲜的东西可能就是 Python 的面向对象特点了。 那些还未能全部

11、精通 OOP(ObjectOrientedProgramming,面向对象的 程序设计)的人对径直 使用 Python 还是有所顾忌的,但是 OOP 并非必须或者强制的。入 门也是很简单的,你可以 先稍加涉猎,等到有所准备之后才开始使用。 易读 Python 与其 他语言显著的差异是,它没有其他语言通常用来访问变量、定义代码块和 进行模式匹配的 命令式符号。通常这些符号包括:美元符号($) 、分号(;) 、波浪号() 等等。没有这些 分神的家伙,Python 代码变得更加定义清晰和易于阅读。让很多程序员沮 丧(或者欣慰) 的是,不像其他语言,Python 没有给你多少机会使你能够写出晦涩难懂的

12、 代码,而是让其 他人很快就能理解你写的代码,反之亦然。 如前所述,一门语言的可读性让它更易于学习。 我们甚至敢冒昧的声称,即使对那些之 前连一行 Python 代码都没看过的人来说,那些代 码也是相当容易理解的。看看下一章节 “起步”中的例子,然后告诉我们你的进展是 多么神速。 易维护 源代码维护是软件开发生命周期的组成部分。只要不被其他软件取代或 者被放弃使用, 你的软件通常会保持继续的再开发。 这通常可比一个程序员在一家公司的 在职时间要长得多 了。Python 项目的成功很大程度上要归功于其源代码的易于维护,当然 这也要视代码长度和复杂度而定。 然而, 得出这个结论并不难, 因为 Py

13、thon 本身就是易于学习和阅 读的。 Python 另外一个激动人心的优势就是, 当你在阅读自己六个月之前写的脚本程序 的时候, 不会把自 己搞得一头雾水,也不需要借助参考手册才能读懂自己的软件。 健壮性 没有什么能够比允许程序员在错误发生的时候根据出错条件提供处理机制更有效的了。 针对错误,Python 提供了“安全合理”的退出机制,让程序员能掌控局面。一旦你的 Python 由于错误崩溃,解释程序就会转出一个“堆栈跟踪” ,那里面有可用到的全部信息, 包括你程 序崩溃的原因以及是那段代码(文件名、行数、行数调用等等)出错了。这些错 误被称为异 常。 如果在运行时发生这样的错误,Pytho

14、n 使你能够监控这些错误并进行处 理。这些异常 处理可以采取相应的措施,例如解决问题、重定向程序流、执行清除或维护 步骤、正常关闭 应用程序、亦或干脆忽略掉。无论如何,这都可以有效的缩减开发周期中 的调试环节。 Python 的健壮性对软件设计师和用户而言都是大有助益的。一旦某些错误处 理不当, Python 也还能提供一些信息,作为某个错误结果而产生的堆栈追踪不仅可以描述 错误的类 型和位置,还能指出代码所在模块。 高效的快速原型开发工具 我们之前已经提 到了 Python 是多么的易学易读。但是,你或许要问了,BASIC 也是如 此啊,Python 有什 么出类拔萃的呢?与那些封闭僵化的语

15、言不同,Python 有许多面向其他 系统的接口,它的 功能足够强大,本身也足够强壮,所以完全可以使用 Python 开发整个系 统的原型。显然, 传统的编译型语言也能实现同样的系统建模,但是 Python 工程方面的简 洁性让我们可以 在同样的时间内游刃有余的完成相同的工作。 此外,大家已经为 Python 开发了为数众多 的扩展库,所以无论你打算开发什么样的应 用程序,都可能找到先行的前辈。你所要做的 全部事情,就是来个“即插即用” (当然,也要 自行配置一番)!只要你能想得出来, Python 模块和包就能帮你实现。Python 标准库是很 完备的,如果你在其中找不到所需, 那么第三方模

16、块或包就会为你完成工作提供可能。 内存管理器 C 或者 C+最大的弊病在于 内存管理是由开发者负责的。所以哪怕是对于一个很少访 问、修改和管理内存的应用程序, 程序员也必须在执行了基本任务之外履行这些职责。这些 加诸在开发者身上的没有必要的 负担和责任常常会分散精力。在 Python 中,由于内存管理 是由 Python 解释器负责的, 所以开发人员就可以从内存事务中解放出来,全神贯注于最直 接的目标,仅仅致力于开发 计划中首要的应用程序。这会使错误更少、程序更健壮、开发周 期更短。解释性和(字节) 解释性和(字节)编译性 Python 是一种解释型语言,这意味着开 发过程中没有了编译这个环节。一般来说,由 于不是以本地机器码运行,纯粹的解释型语 言通常比编译型语言运行的慢。然而,类似于 Java,Python 实际上是字节编译的,其结果 就是可以生成一种近似机器语言的中间形式。这 不仅改善了 Py

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号