笨办法学 Python · 续 练习 44:使用 Python 的数据库 API

练习 44:使用 Python 的数据库 API

原文:Exercise 44: Using Python's Database API

译者:飞龙

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

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 已经是一个不错简单的 AP,用于访问数据库I,所以你只需练习包装一个糟糕的 API。您的目标应该是充分学习sqlite3 API,然后设计一种更简单的方法来访问它。

有时“简单”纯粹是主观的,或是根据当前的需要。你可以决定,你需要简化的东西,不是与 SQL 数据库通信的方式,而是你与 SQL 数据库通信的方式。如果您的应用程序只需要处理人员和宠物,那么您的简化可以仅仅是,制作一个仅适用于您的 API。

深入学习

阅读 Python 中其它数据库的 API。你可以阅读 Pyscopg PostgreSQL API,以及 MySQL Python 驱动

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,392评论 25 707
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,436评论 6 428
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,783评论 1 61
  • 如果说努力和拼尽全力之间有什么区别,那就是,当你努力的时候,你会觉得自己已经拼尽全力了。当你拼尽全力的时候,...
    弈雪悠然阅读 366评论 0 3
  • 我是142号星宝宝梁善惠,正在参加日记星球21天蜕变之旅的写作训练。 同时也是小牛妈妈英语启蒙A42号学员,我相信...
    梁姑娘悦阅读 285评论 0 3