1. 开胃菜
如果你经常使用计算机工作,慢慢地你就会发现你希望有一些任务能够自动完成。 比如,你可能希望在一个很大的文本文档中执行一个查找并替换的操作,或者对大量的照片文件以一种复杂的方式进行重命名并重新排序的操作。又或许你想写一个小型的定制数据库,或是一个专门的 GUI 应用,或者是一个简单的游戏。
如果你是一个专业的软件开发者,你或许不得不同几个 C/C++/Java 库打交道。你应该已经发现无休止的【写代码-->编译-->测试-->重新编译】循环往复的过程实在是太慢了。或许你正在为这样的库编写一个测试套件,然后发现编写这样的测试代码实在是乏味无聊。或许你已经写好了一个可以使用扩展语言的程序,而且你不希望为你的应用重新设计应用一个全新的语言。
Python 就是你想要的那种语言!
你可以为这些任务写一个 Unix 壳脚本或者 Windows 批处理文件。但是壳脚本最善于文件的转移和文本数据的修改,而并不能很好地用作 GUI 应用或游戏。你可以写一个 C/C++/Java 程序,但即便是要得到初稿程序的过程都可能要耗费大量的开发时间。Python 是一门简单易用的编程语言,可以在Windows、Mac OS X 和 Unix 操作系统中运行,将助你更快地完成任务。
Python 虽然简单易用,却是一门完善的编程语言。它能够为大型程序提供比壳脚本和批处理文件多得多的结构和支持。另一方面,Python 也有着比 C 语言强大得多的错误检查机制。同时,作为一门极高水平的编程语言,他有着高水平的内置数据类型,比如灵活的数列和字典。因其更加通用的数据类型,Python 可应用于比 Awk 甚至 Perl 大得多的困难领域,虽然这些语言的很多特性至少是和 Python 同样简洁。
Python 允许你将你的程序拆分成可以在其他 Python 程序中继续使用的小模块。你也可以使用大量的标准模块作为你的程序的基础 —— 或者例如开始学习在 Python 中编程。一些模块还提供 I/O 文件,调用系统,接口,甚至图形用户交互工具包,例如 Tk。
Python 是一门解释型的编程语言,由于不需要汇编和耦合,它可以节约你大量的程序开发时间。可交互式使用的 Python 解释器,这使得这门编程语言的特性很容易通过编写一次性的程序或者通过开发自下而上的程序时使用的测试函数来进行试验。
Python 使得程序代码更加简洁易读。用 Python 写的程序往往比能够实现同样功能的 C,C++,或者 Java 程序的代码短得多,原因如下:
- 高水平的数据类型可以让你通过一句简单的代码实现复杂的操作;
- 语句组通过缩进来实现而不是双括号;
- 不需要声明变量和参数。
Python 是可扩展的:如果你知道如何用 C 语言编程,很容易为 Python 解释器增加一个内置函数或模块,要么以最快的速度执行重要的操作,或者将 Python 程序关联到一些只能以二进制形式(比如供应商特有的图形库)获得的库。一旦你you are really hooked, 你可以将 Python 解释器关联到一个使用 C 语言编写的程序,并把它作为该应用的扩展或命令语言。
顺便一提,这么语言是以 BBC 的节目“Monty Python’s Flying Circus” 明明,与爬行动物蟒蛇没有任何关系。Monty Python 小品节目组不但允许我们的引用行为,还对此极为鼓励!
既然你已经对 Python 充满了激情,你一定想继续测生它的更多细节。因为学习一门语言最好的方法是使用它,本教程邀请你在阅读的同时享受通过 Python 解释器编程的乐趣。
在下一个章节中,你将会了解 Python 解释器的构造。这些内容非常乏味,但对于尝试解决后面的例子至关重要。
本教程的其他部分通过实例介绍了Python 语言和系统多种多样的特性, 以简单的表达式,语句和数据结构开始,随后贯穿函数和模块,最后润色以高级的概念比如例外和用户定义类。