Whetting Your Appetite

如果你经常在计算机上工作,最终你会发现有些任务你想要自动化。

例如,你可能希望对大量文本文件进行搜索和替换,或者以复杂的方式重命名和重新排列一堆照片文件。也许你想编写一个小型的自定义数据库,或者一个专门的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节目“Monty Python’s Flying Circus”命名的,与爬行动物无关。在文档中引用Monty Python的段子不仅是允许的,而且是鼓励的!

既然你对Python如此兴奋,你会想要更详细地研究它。由于学习一门语言的最佳方法是使用它,教程邀请你在阅读时与Python解释器玩耍。

在下一章中,将解释使用解释器的机制。这些都是相当平凡的信息,但对于尝试后面显示的示例来说是必不可少的。

教程的其余部分通过示例介绍了Python语言和系统的各种特性,从简单的表达式、语句和数据类型开始,通过函数和模块,最后涉及到如异常和用户定义类等高级概念。

参考资料

https://docs.python.org/3.12/tutorial/appetite.html