你好,我是尹会生。
这一章,我用了大量篇幅为你介绍了 Python 与其周边程序之间互相访问的基本方法。总体来说分为三个主要策略:利用魔术方法封装有自己特性的对象,利用设计模式扩充对象间的关系,利用数据库持久化数据存储。接下来我们一起来回顾一下它们的主要特点和实现方法。
对程序员来说,实现业务需求时,总是缺少一个恰当的数据类型来描述业务数据。因为无论是基础数据类型还是 collections 扩展数据类型,都不足以体现业务的复杂程度,因此通常采用 JSON、XML 等数据交换格式,连接业务和 Python 数据类型。
JSON 可以很贴切地描述业务数据,而将 JSON 交给 Python 处理时,只使用基础数据类型,进行排序、数据筛选、数据修改等操作的时候,就显得力不从心了。这时就需要我们通过魔术方法封装一个特殊的 Python 对象来描述业务。因为 Python 语言,还有它的语法本身没有接口,所以这些魔术方法就作为对象的接口被其他对象调用。
相信这样描述你会觉得很抽象,所以这里我用一个扑克游戏的例子,为你讲解一下魔术方法的作用。
我想为一个游戏定义两副扑克牌,这时如果采用基本的数据类型无法体现出“红桃、黑桃、方片、梅花”以及“JQKA”。因此,我们可以采用 collections 来定义一个复合数据类型。