第 1 章.抢先预览
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
"Python编程:小故事"
如果你和大多数人一样,当你拿起一本这么大的书时,你会希望在卷起袖子之前先了解一下你将要学习的内容。这就是本章的目的--在进入细节之前,它将演示一些用 Python 可以做的事情。你不会在这里学到全部内容,如果你想了解本章中应用的工具和技术的完整解释,你必须继续阅读本书的后面部分。这里的重点只是吊起你的胃口,回顾一些 Python 基础知识,并预览一些接下来的主题。
为此,我将选择一个相当简单的应用任务--构建一个记录数据库--通过多个步骤进行迁移:交互式编码、命令行工具、控制台界面、图形用户界面和简单的基于 Web 的界面。在学习过程中,我们还将了解一些概念,如数据表示、对象持久性和面向对象编程 (OOP);探索一些我们将在本书后面重新讨论的替代方案;回顾一些在阅读本书之前就应该了解的 Python 核心思想。最终,我们将得到一个 Python 类实例数据库,可以通过各种接口对其进行浏览和更改。
当然,我在本书中还会涉及其他主题,但你在这里看到的技术代表了我们以后要探索的一些领域。再说一遍,如果你不完全理解本章中的程序,不用担心,因为你不应该--无论如何--现在还不应该。这只是一个 Python 演示。剩下的细节我们很快就会讲完。现在,让我们从一点乐趣开始。
备注
学习Python第四版的读者可能会认出本章中使用的运行示例的某些方面--这里的字符与该书中 OOP 教程一章中的字符在精神上相似,而这里后面基于类的示例基本上是主题的变体。尽管有些冗余,我还是在这里重温了这个示例,原因有三:它起到了复习语言基础的作用;本书的一些读者还没有读过《学习 Python》;这个示例在这里得到了扩展处理,增加了 GUI 和 Web 界面。也就是说,本章承接了《Python 学习》的内容,将这个核心语言示例推向了现实应用的领域--一言以蔽之,这反映了本书的目的。
任务
试想一下,你出于某种原因需要记录一些人的信息。也许你想在电脑上存储一个地址簿,也许你需要记录一家小企业的员工信息。不管出于什么原因,你都想编写一个程序来记录这些人的详细信息。换句话说,你想在数据库中保存记录--在电脑上永久存储人员的属性列表。
当然,也有现成的程序可以管理这样的数据库。不过,如果自己编写一个程序来完成这项任务,你就可以完全控制它的运行。你可以为特殊情况和行为添加代码,而这些都是预先编码的软件可能没有预料到的。您不必安装和学习使用另一种数据库产品。您也不必受软件供应商的摆布来修复错误或添加新功能。您决定编写一个 Python 程序来管理您的员工。
步骤 1:代表记录
如果我们要在数据库中存储记录,第一步可能就是决定这些记录看起来像什么。在 Python 语言中,有多种方法来表示关于人的信息。 内置的对象类型(如列表和字典)通常就足够了,尤其是当我们最初并不关心处理我们存储的数据时。
使用列表
例如,可以按位置有序地收集有关人的属性。启动 Python 交互式解释器,键入以下两条语句:
>>>bob = ['Bob Smith', 42, 30000, 'software']>>>sue = ['Sue Jones', 45, 40000, 'hardware']
我们刚刚创建了两条记录,尽管很简单,但却代表了两个人:Bob 和 Sue(如果你真的是 Bob 或 Sue,请原谅我的冒昧[2])。每条记录都是一个包含四个属性的列表:姓名、年龄、工资和工作字段。要访问这些字段,我们只需按位置进行索引;这里的结果在括号中,因为它是两个结果的元组: ...