一些预备知识
为了使本书接下来的内容更清晰,我们先来看一些关心的问题。其中一项是21点游戏。我们将重点关注21点游戏的模拟,但并不赞成赌博。
然而,对于面向对象编程来说,模拟是最早的问题之一。这也是能够体现出面向对象编程优雅的一个情形。有关更多信息,可参见http://en.wikipedia.org/wiki/Simula,以及Rob Pooley写的An Introduction to Programming。
本章会介绍一些工具的背景,它们是编写出完整的Python程序和包的基础。在接下来的章中会使用它们。
我们会使用timeit模块将面向对象设计进行对比,找出性能更好的那个。在很多有关如何更好地写出适用于问题模型代码的主观考虑中,使用客观事实来进行说明是非常重要的。
我们将介绍如何在面向对象中使用unittest
和doctest
模块,它们是在开发过程中核对实际工作的基本工具。
一个良好的面向对象设计应当是清晰的并且可读性很强。为了确保良好的可读性,编写Python风格的文档是必要的。Docstrings在模块、类和方法中都很重要。我们会在这里简单概括RST标记并会在第18章“质量和文档”中详细介绍。
此外,我们还要解决集成开发环境(Integrated Development Environment,IDE)的问题。常见的问题是Python开发最好的IDE。
最后,我们会介绍Python中特殊基本方法的概念。关于特殊方法,在前7章都有介绍。在这里,我们会介绍一些有助于理解第1部分“用特殊方法实现Python风格的类”的背景知识。
在讨论Python面向对象编程过程中,将尽量避免一些题外话。我们会假设你已经读了Python 3 Object Oriented Programming ...
Get Python面向对象编程指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.