第一章数据模型总结

通过实现特殊方法,自定义数据类型可以表现得跟内置类型一样,从而

让我们写出更具表达力的代码——或者说,更具 Python 风格的代码。

Python 对象的一个基本要求就是它得有合理的字符串表示形式,我们可 以通过 __repr__ 和 __str__ 来满足这个要求。前者方便我们调试和 记录日志,后者则是给终端用户看的。这就是数据模型中存在特殊方法 __repr__ 和 __str__ 的原因。

对序列数据类型的模拟是特殊方法用得最多的地方,这一点在 FrenchDeck 类的示例中有所展现。

在第 2 章中,我们会着重介绍序列 数据类型,然后在第 10 章中,我们会把 Vector 类扩展成一个多维的 数据类型,通过这个练习你将有机会实现自定义的序列。

Python 通过运算符重载这一模式提供了丰富的数值类型,除了内置的那 些之外,还有 decimal.Decimal 和 fractions.Fraction。这些数据 类型都支持中缀算术运算符。在第 13 章中,我们还会通过对 Vector 类的扩展来学习如何实现这些运算符,当然还会提到如何让运算符满足 交换律和增强赋值。

Python 数据模型的特殊方法还有很多,本书会涵盖其中的绝大部分,探 讨如何使用和实现它们。

猜你喜欢

转载自www.cnblogs.com/yuchen991/p/12441533.html