1. 初尝Python¶
如果你经常使用电脑,最终你会发现有些任务需要自动化。例如,你可能希望在大量文本文件中执行查找和替换操作,或者以复杂的方式重命名和重新排列一堆照片文件。也许你希望编写一个小型的自定义数据库、一个专门的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语言和系统的各种功能,从简单的表达式、语句和数据类型,到函数和模块,最后涉及异常和用户定义类等高级概念。