ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 练习 44:使用 Python 的数据库 API > 原文:[Exercise 44: Using Python's Database API](https://learncodethehardway.org/more-python-book/ex44.html) > 译者:[飞龙](https://github.com/wizardforcel) > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) > 自豪地采用[谷歌翻译](https://translate.google.cn/) Python 具有标准化的数据库 API,可以使用相同的代码访问多个数据库。你要连接的每个数据库都有一个不同的模块,它们知道如何与该数据库通信,并遵循 <https://www.python.org/dev/peps/pep-0249/PEP> 中的标准。这使得我们更容易使用所有数据库来访问它们,它们具有不同 API。对于本练习,你将使用 <https://docs.python.org/2/library/sqlite3.html> 上的`sqlite3`模块来处理 SQL。 ## 学习 API 作为程序员,你必须不断做到的一件事是,学习其他人写的 API。我没有具体涵盖最有效的方式来做到它,因为大多数程序员得心应手,就像学习语言那样。Python 语言及其模块密切相关,当你学习 Python 时,你不得不学习这些模块中的 API。然而,有一种有效的方式来学习我使用的 API,在这个练习中你将要学习它。 为了学习像`sqlite3`模块的API,我会这样做: + 查找 API 的所有文档,如果没有文档,请查找代码。 + 检查样例或测试代码,并将其复制到我自己的文件中。通常阅读是不够的。我实际上会使其工作,猜猜为什么,因为很多时候文档不匹配当前版本的 API。制作文档中的所有东西,可以帮助我找到所有忘记提到的内容。 + 当你获取样例代码,来工作于我的机器时,记录下任何对我有用(WFM)的情况。WFM 是,编写文档的人留下了重要的配置步骤,因为他们的计算机已经配置好了。大多数编写文档的程序员并不是从一台新机器开始,所以他们遗漏了一些库和软件,它们安装了但是别人没有。当你尝试在生产环境中配置 API 时,这些 WFM 的差异之后会阻碍你,所以我会记下来便于以后使用。 + 为所有主要 API 入口点,以及它们所做的东西制作闪存卡或笔记。 + 尝试写一个小型的峰值测试,使用 API​​ 但只使用你的笔记。如果你点击了你不记得的 API 的一部分,请返回到文档并更新你的笔记。 + 最后,如果 API 很难使用,我会考虑使用一个简单的 API 来“包装”它,它只做我需要的东西,所以我可以忘记它。 如果这样不能学到 API,那么你应该考虑找一个不同的 API 来使用。如果 API 的作者告诉你“阅读代码”,则可能有另一个具有文档的项目。去使用该项目吧。如果你必须使用这个 API,那么考虑根据自己的代码来记录你的笔记,然后写一本书来卖,从作者的懒惰中赚钱。 ## 挑战练习 你将以这种方式学习`sqlite3` API,然后尝试编写自己的数据库简化 API。请记住,[DB API 2.0](https://docs.python.org/2/library/sqlite3.html) 已经是一个不错简单的 AP,用于访问数据库I,所以你只需练习包装一个糟糕的 API。你的目标应该是充分学习`sqlite3` API,然后设计一种更简单的方法来访问它。 有时“简单”纯粹是主观的,或是根据当前的需要。你可以决定,你需要简化的东西,不是与 SQL 数据库通信的方式,而是你与 SQL 数据库通信的方式。如果你的应用程序只需要处理人员和宠物,那么你的简化可以仅仅是,制作一个仅适用于你的 API。 ## 深入学习 阅读 Python 中其它数据库的 API。你可以阅读 [Pyscopg PostgreSQL API](http://initd.org/psycopg/docs/),以及 [MySQL Python 驱动](https://dev.mysql.com/doc/connector-python/en/)。