chapter3

函数(function):一个有名称的语句序列,可以进行某种有用的操作。函数可以接收或者不接收参数,可以返回或不返回结果。

函数定义(function definition):一个用来创建新函数的语句,指定函数的名称、参数以及它所包含的语句序列。

函数对象(function object):函数定义所创建的值。函数名可以用作变量来引用一个函数对象。

函数头(header):函数定义的第一行。

函数体(body):函数定义内的语句序列。

形参(parameter):函数内使用的用来引用作为实参传入的值的名称。

函数调用(function call):运行一个函数的语句。它由函数名称和括号中的参数列表组成。

实参(argument):当函数调用时,提供给它的值。这个值会被赋值给对应的形参。

局部变量(local variable):函数内定义的变量。局部变量只能在函数体内使用。

返回值(return value):函数的结果。如果函数被当作表达式调用,返回值就是表达式的值。

有返回值函数(fruitful function):返回一个值的函数。

无返回值函数(void function):总是返回None的函数。

None:由无返回值函数返回的一个特殊值。

模块(module):一个包含相关函数以及其他定义的集合的文件。

import语句(import statement):读入一个模块文件,并创建一个模块对象的语句。

模块对象(module object):使用import 语句时创建的对象,提供对模块定义的值的访问。

句点表示法(dot notation):调用另一个模块中的函数的语法,使用模块名加上一个句点符号,再加上函数名。

组合(composition):使用一个表达式作为更大的表达式的一部分,或者使用语句作为更大的语句的一部分。

执行流程(flow of execution):语句执行的顺序。

栈图(stack diagram):函数栈的图形表达形式,也展示它们的变量,以及这些变量引用的值。

图框(frame):栈图中的一个图框,表达一个函数调用。它包含了局部变量以及函数的参数。

回溯(traceback):当异常发生时,打印出正在执行的函数栈。

chapter4

方法(method):与某个对象相关联的一个函数,使用句点表达式调用。

循环(loop):程序中的一个片段,可以重复运行。

封装(encapsulation):将一组语句转换成函数定义的过程。

泛化(generalization):将一些不必要的具体值(如一个数字)替换为合适的通用参数或变量的过程。

关键词参数(keyword argument):调用函数时,附带了参数名称(作为一个"关键词"来使用)的参数。

接口(interface):描述函数如何使用的说明。包括函数的名称,以及形参与返回值的说明。

重构(refactoring):修改代码并改善函数的接口以及代码质量的过程。

开发计划(development plan):写程序的过程。

文档字符串(docstring):在函数定义开始处出现的用于说明函数接口的字符串。

前置条件(precondition):在函数调用开始前应当满足的条件。

后置条件(postcondition):在函数调用结束后应当满足的条件。

chapter5

向下取整除法(floor division):用//表示的操作符,用于将两个数相除,并对结果进行向下取整(靠近0取整),得到整数结果。

求模操作符(modulus operator):用%表示的操作符,用于两个整数,返回两个整数相除的余数。

布尔表达式(boolean expression):一种表达式,其值是True或False.

关系操作符(relational operator):用来表示两个操作对象的比较关系的操作符,如下之一:==、!=、>、<、>=和<=。

逻辑操作符(logical operator):用来组合两个布尔表达式的操作符,有三个:and、or 和 not。

条件语句(conditional statement):依照某些条件控制程序执行流程的语句。

条件(condition):条件语句中的布尔表达式,由他决定执行哪一个分支。

复合语句(compound statement):一个包含语句头和语句体的语句。语句头以冒号(:)结尾。语句体相对语句头缩进一层。

分支(branch):条件语句中的一个可能性分支语句段。

条件链语句(chained condition):一种包含多个分支的条件语句。

嵌套条件语句(nested condition):在其他条件语句的分支中出现的条件语句。

返回语句(return statement):导致一个函数立即结束并返回到调用者的语句。

递归(recursion):在当前函数中调用自己的过程。

基准情形(base case):递归函数中的一个条件分支,里面不会再继续递归调用。

无限递归(infinite recursion):没有基准情形的递归,或者永远无法达到基准情形的分支的递归调用。最终,这种无限递归会导致运行时错误。

Chapter6

临时变量(temporary variable):在复杂计算中用于保存中间计算值的变量。

无效代码(dead code):程序中的一些代码,用于不可能运行。常常是写在return语句之后的代码。

增量开发(incremental development):一个程序开发计划,但在最终版本中不需要的代码。

脚手架代码(scaffolding):在开发过程中使用的,但在最终版本中不需要的代码。

守卫(guardian):一个编程模式。使用条件语句来检查并处理可能产生错误的情形。

chapter7

重新赋值(reassignment):对一个已经存在的变量赋予一个新值。

更新(update):一种赋值操作,新值依赖于变量的旧值。

初始化(initialization):一种赋值操作,给变量一个初始的值,以后可以进行更新。

增量(increment):一种更新操作,增加变量的值(常常是加1)。

减量(decrement):一种更新操作,减少变量的值。

迭代(iteration):使用递归函数调用或者循环来重复执行一组语句。

无限循环(infinite loop):一个终止条件永远无法满足的循环。

算法(algorithm):解决一类问题的通用过程。

chapter8

对象(object):变量可以引用的一种事物。

序列(sequence):一个有序的值的集合,其中每个使用一个下标来定位。

项(item):序列中的一个值,

下标(index):用于在序列中选择元素的整数值。例如,可以用于在字符串中选取字符。在Python中下标从0开始。

切片(slice):字符串的一部分,通过一个下标范围来定位。

空字符串(empty string):没有字符,长度为0的字符串,使用一对引号来表示。

不可变(immutable):序列的一种属性,表示它的元素是不可改变的。

遍历(traverse):迭代访问序列中的每一个元素,并对每个元素进行相似的操作。

搜索(search):一种遍历的模式,当找到它想要的元素时停止。

计数器(counter):一种用来计数的变量,通常初始化为0,后来会递增。

方法调用(invocation):调用一个方法的语句。

可选参数(optional argument):函数或方法中,并不必须有的参数。

chapter9

文件对象(file object):用来表示一个打开的文件的值。

将问题回归到已解决问题(reduction to a previously solved problem):通过把问题表述为已经解决的某个问题的特例解决问题的一种方式。

特殊情形(special case):一种不典型或者不明显(因此更可能没有正确处理)的测试用例。