技术开发 频道

细数Python让人着迷的十二大理由

  可移植性

  在各种不同的系统上可以看到Python的身影,这是由于在今天的计算机领域,Python取得了持续快速的成长。因为Python是用C写的,又由于C的可移植性,使得Python可以运行在任何带有ANSIC编译器的平台上。尽管有一些针对不同平台开发的特有模块,但是在任何一个平台上用Python开发的通用软件都可以稍事修改或者原封不动的在其他平台上运行。这种可移植性既适用于不同的架构,也适用于不同的操作系统。

  易学

  Python关键字少、结构简单、语法清晰。这样就使得学习者可以在相对更短的时间内轻松上手。对初学者而言,可能感觉比较新鲜的东西可能就是Python的面向对象特点了。那些还未能全部精通OOP(ObjectOrientedProgramming,面向对象的程序设计)的人对径直使用Python还是有所顾忌的,但是OOP并非必须或者强制的。入门也是很简单的,你可以先稍加涉猎,等到有所准备之后才开始使用。

  易读

  Python与其他语言显著的差异是,它没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号。通常这些符号包括:美元符号($)、分号(;)、波浪号(~)等等。没有这些分神的家伙,Python代码变得更加定义清晰和易于阅读。让很多程序员沮丧(或者欣慰)的是,不像其他语言,Python没有给你多少机会使你能够写出晦涩难懂的代码,而是让其他人很快就能理解你写的代码,反之亦然。

  如前所述,一门语言的可读性让它更易于学习。我们甚至敢冒昧的声称,即使对那些之前连一行Python代码都没看过的人来说,那些代码也是相当容易理解的。看看下一章节——“起步”中的例子,然后告诉我们你的进展是多么神速。

  易维护

  源代码维护是软件开发生命周期的组成部分。只要不被其他软件取代或者被放弃使用,你的软件通常会保持继续的再开发。这通常可比一个程序员在一家公司的在职时间要长得多了。Python项目的成功很大程度上要归功于其源代码的易于维护,当然这也要视代码长度和复杂度而定。然而,得出这个结论并不难,因为Python本身就是易于学习和阅读的。Python另外一个激动人心的优势就是,当你在阅读自己六个月之前写的脚本程序的时候,不会把自己搞得一头雾水,也不需要借助参考手册才能读懂自己的软件。

  健壮性

  没有什么能够比允许程序员在错误发生的时候根据出错条件提供处理机制更有效的了。针对错误,Python提供了“安全合理”的退出机制,让程序员能掌控局面。一旦你的Python由于错误崩溃,解释程序就会转出一个“堆栈跟踪”,那里面有可用到的全部信息,包括你程序崩溃的原因以及是那段代码(文件名、行数、行数调用等等)出错了。这些错误被称为异常。

  如果在运行时发生这样的错误,Python使你能够监控这些错误并进行处理。这些异常处理可以采取相应的措施,例如解决问题、重定向程序流、执行清除或维护步骤、正常关闭应用程序、亦或干脆忽略掉。无论如何,这都可以有效的缩减开发周期中的调试环节。

  Python的健壮性对软件设计师和用户而言都是大有助益的。一旦某些错误处理不当,Python也还能提供一些信息,作为某个错误结果而产生的堆栈追踪不仅可以描述错误的类型和位置,还能指出代码所在模块。

  高效的快速原型开发工具

  我们之前已经提到了Python是多么的易学易读。但是,你或许要问了,BASIC也是如此啊,Python有什么出类拔萃的呢?与那些封闭僵化的语言不同,Python有许多面向其他系统的接口,它的功能足够强大,本身也足够强壮,所以完全可以使用Python开发整个系统的原型。显然,传统的编译型语言也能实现同样的系统建模,但是Python工程方面的简洁性让我们可以在同样的时间内游刃有余的完成相同的工作。

  此外,大家已经为Python开发了为数众多的扩展库,所以无论你打算开发什么样的应用程序,都可能找到先行的前辈。你所要做的全部事情,就是来个“即插即用”(当然,也要自行配置一番)!只要你能想得出来,Python模块和包就能帮你实现。Python标准库是很完备的,如果你在其中找不到所需,那么第三方模块或包就会为你完成工作提供可能。

  内存管理器

  C或者C++最大的弊病在于内存管理是由开发者负责的。所以哪怕是对于一个很少访问、修改和管理内存的应用程序,程序员也必须在执行了基本任务之外履行这些职责。这些加诸在开发者身上的没有必要的负担和责任常常会分散精力。在Python中,由于内存管理是由Python解释器负责的,所以开发人员就可以从内存事务中解放出来,全神贯注于最直接的目标,仅仅致力于开发计划中首要的应用程序。这会使错误更少、程序更健壮、开发周期更短。

  解释性和(字节)编译性

  Python是一种解释型语言,这意味着开发过程中没有了编译这个环节。一般来说,由于不是以本地机器码运行,纯粹的解释型语言通常比编译型语言运行的慢。然而,类似于Java,Python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。这不仅改善了Python的性能,还同时使它保持了解释型语言的优点。

0
相关文章