chapter15

类(class):一个用户定义的类型。类定义会新建一个类对象。

类对象(class object):一个把票很难用户定义类型的信息的对象。类对象可以用来创建该类型的实例。

实例(instance):属于某个类的一个对象。

实例化(instanciate):创建一个新对象。

属性(attribute):一个对象中关联的有命名的值。

内嵌对象(embedded object):作为一个对象的属性存储的对象。

浅复制(shallow copy):复制对象的内容,包括内嵌对象的引用;copy模块中的copy函数实现了这个功能。

深复制(deep copy):复制对象的内容,也包括内嵌对象,以及他们内嵌的对象,依次类推;copy模块中的deepcopy函数实现了这个功能。

对象图(object diagram):一个展示对象、对象的属性以及属性的值的图。

chapter16

原型和补丁(prototype and patch):一种开发计划模式,先编写程序的粗略原型,并测试,在找到错误时更正。

有规划开发(planned development):一种开发计划模式,先对问题有了高阶的深入理解,并且比增量开发或者原型开发有更多的规划。

纯函数(pure function):不修改任何形参对象的函数。大部分纯函数都有返回值。

修改器(modifier):修改一个或多个形参对象的函数。大部分修改器都不返回值,也就是返回None。

函数式编程风格(functional programming style):一种编程设计风格,其中大部分函数都是纯函数。

不变式(invariant):在程序的执行过程中应当总是为真的条件。

assert语句(assert statement):一种检查某个条件,如果检查失败则抛出异常的语句。

chapter17

面向对象语言(object-oriented language):一种提供诸如用户定义类型和方法之类的语言特性,以方便面向对象编程的语言。

面向对象编程(object-oriented programming):一种编程风格,数据和修改数据的操作组织成类和方法的形式。

方法(method):在类定义之内定义的函数,在类的实例上调用。

主体(subject):调用方法所在的对象。

按位实参(positional argument):一个不包含参数名字的实参,所以它不是一个关键词实参。

操作符重载(operator overloading):修改一个类似+号这样的操作符的行为,使之可以用于用户定义类型。

基于类型的分发(type-based dispatch):一种编程模式,检查操作对象的类型,并对不同类型调用不同的函数。

多态(polymorphic):函数的一种属性,可以处理多种类型的参数。

信息隐藏(information hiding):对象提供的接口不应当依赖于其实现,特别是其属性的表达形式的原则。