1. 激发你的食欲¶
如果你经常使用计算机工作,最终你会发现有些任务你希望自动化。例如,你可能希望在大量文本文件中执行搜索和替换操作,或者以复杂的方式重命名和重新排列一堆照片文件。也许你想编写一个小型自定义数据库,或者一个专门的 GUI 应用程序,或者一个简单的游戏。
如果你是一名专业的软件开发人员,你可能需要使用多个 C/C++/Java 库,但发现通常的编写/编译/测试/重新编译周期太慢。也许你正在为这样一个库编写测试套件,并发现编写测试代码是一项繁琐的任务。或者,也许你已经编写了一个可以使用扩展语言的程序,而你不想为你的应用程序设计和实现一种全新的语言。
Python 正是你需要的语言。
你可以为其中一些任务编写 Unix shell 脚本或 Windows 批处理文件,但是 shell 脚本最擅长移动文件和更改文本数据,不适合 GUI 应用程序或游戏。你可以编写 C/C++/Java 程序,但是即使是第一个草稿程序也可能需要大量的开发时间。Python 更易于使用,可在 Windows、macOS 和 Unix 操作系统上使用,并且可以帮助你更快地完成工作。
Python 易于使用,但它是一种真正的编程语言,它比 shell 脚本或批处理文件提供了更多的结构和对大型程序的支持。另一方面,Python 也比 C 提供了更多的错误检查,而且,作为一种非常高级的语言,它内置了高级数据类型,例如灵活的数组和字典。由于其更通用的数据类型,Python 比 Awk 甚至 Perl 适用于更大的问题领域,但许多事情在 Python 中至少与在这些语言中一样容易。
Python 允许你将程序拆分为可以在其他 Python 程序中重用的模块。它附带了大量标准模块,你可以将其用作程序的基础,或者作为开始学习用 Python 编程的示例。其中一些模块提供了诸如文件 I/O、系统调用、套接字,甚至图形用户界面工具包(如 Tk)的接口。
Python 是一种解释型语言,由于不需要编译和链接,因此可以在程序开发过程中节省大量时间。解释器可以交互使用,这使得在自下而上的程序开发过程中很容易试验该语言的功能,编写一次性程序或测试函数。它也是一个方便的桌面计算器。
Python 使程序可以编写得紧凑且可读。由于以下几个原因,用 Python 编写的程序通常比等效的 C、C++ 或 Java 程序短得多:
高级数据类型允许你用单个语句表达复杂的操作;
语句分组是通过缩进而不是开始和结束括号来完成的;
不需要变量或参数声明。
Python 是可扩展的:如果你知道如何用 C 编程,那么很容易向解释器添加一个新的内置函数或模块,以便以最大速度执行关键操作,或者将 Python 程序链接到可能只有二进制形式可用的库(例如,供应商特定的图形库)。一旦你真正迷上了,你可以将 Python 解释器链接到一个用 C 编写的应用程序中,并将其用作该应用程序的扩展或命令语言。
顺便说一句,该语言以 BBC 节目“蒙提·派森的飞行马戏团”命名,与爬行动物无关。在文档中引用蒙提·派森的小品不仅是允许的,而且是鼓励的!
现在你对 Python 感到兴奋,你可能想更详细地研究它。由于学习一门语言的最佳方法是使用它,因此本教程邀请你在阅读时使用 Python 解释器进行练习。
在下一章中,将解释使用解释器的机制。这是一个相当平凡的信息,但对于尝试稍后显示的示例至关重要。
本教程的其余部分通过示例介绍了 Python 语言和系统的各种功能,从简单的表达式、语句和数据类型开始,到函数和模块,最后涉及诸如异常和用户定义的类之类的高级概念。