1. 引言

IamZS 85 0

如果你大量工作都是在电脑上完成的,最终你会发现有些(重复的)工作你想让其变得自动化。比如,你可能想要对大量文本文档进行搜索-替换工作,或是以一种复杂的方式对一堆照片进行重命名和整理。也许你想写一个小型的定制数据库,或是一个专门的 GUI 应用程序,或是一个简单的游戏。

如果你是一位专业的软件开发人员,你可能必须使用一些 C/C++/Java 库,但发现通常的编写/编译/测试/重新编译这一周期太慢。也许你正在为一个库编写测试套件并且发现这一工作实在很乏味。或许你已经编写了一个可以使用扩展语言的程序,但你并不想为了这个程序而设计和实现一门全新的编程语言。

那么,Python 正是为你量身定制的语言。

你可以为其中一些任务编写 Unix shell 脚本或是 Windows 批处理文件,但是 shell 脚本最适合于移动文件和文本数据编辑,却不适合于 GUI 应用程序和游戏。你可以用 C/C++/Java 编写程序,但是花费大量开发时间仅能得到一份初稿。Python 使用起来更简单,可以跨平台(Windows、Mac OS X 和 Unix 操作系统)使用,可以帮助你更快地完成开发工作。

Python 使用起来简单,却是一门真正的编程语言,相比 shell 脚本和批处理文件,它能为大型程序的开发提供更多的(数据)结构和支持。另一方面,Python 相较于 C 提供更多的错误检测,并且作为一门非常高级的语言,它内建有高级数据类型,比如灵活的数组和字典。由于其更多更通用的数据类型,Python 的适用领域比 Awk 甚至是 Perl 要广泛得多,并且许多问题用 Python 来解决至少和用这些语言解决一样简单。

Python 允许你将程序拆分为模块以便在其他 Python 程序中复用。它自带有大量的标准模块,这些都是可以直接用来作为你程序基础的,或者是作为学习 Python 的例子。这些自带模块提供诸如文件 I/O,系统调用,套接字,甚至是像 Tk 一样的用户图形界面接口工具包。

Python 是一门解释性语言,可以为你节省程序开发过程中的大量时间因为不需要编译和链接。Python 解释器可以交互地使用,这使得试验该语言的特性,编写用后即扔(throw-away)的程序,或者是在自下而上的程序开发中测试功能变得非常简单。它同时也是一个便利的桌面计算器(注:因为在 Python 交互模式下进行数值运算可以直接得到结果)。

Python 能够使程序编写得简洁易读。用 Python 编写的程序通常比用 C,C++ 或 Java 编写的等效程序要短得多,有如下几个原因:

  • 高级数据类型使得你可以用一条语句实现复杂的操作;
  • 语句块通过缩进而不是开始和结束括号来实现;
  • 不需要声明变量和参数。

Python 是可扩展的:如果你知道如何用 C 语言进行编程,可以很容易地向解释器添加一个新的内建函数或模块,以实现或是以最快速度执行关键操作,或是将 Python 链接到那些只能以二进制形式使用的库(比如供应商特定的图形库)。一旦你真的着迷,你可以将 Python 解释器链接到用 C 编写的程序,并将其作为该程序的扩展和命令语言。

顺便说一句,Python 语言的名字来自于 BBC 的“Monty Python’s Flying Circus”节目,与爬行动物无关。我们不仅允许,甚至鼓励你在文档中引用 Monty Python 短剧!

既然现在你们都为 Python 感到兴奋,一定会更加想要细致地研究它。学习一门编程语言最好的方式就是使用它,本教程邀请你边读边使用 Python 解释器进行练习。

在下一章,我们将介绍解释器的用法。这是非常简单和基础的事情,但对后续例子的练习非常重要。

本教程的剩余部分通过例子的形式介绍 Python 语言和系统的各种特性,从简单的表达式、语句和数据类型开始,然后是函数和模块,最后讲述高级概念如异常和用户自定义类。

发表评论
表情 图片 链接 代码