定义环境
当定义函数的定义语句被执行时,每个函数的值都与此时对应的环境帧相关联。
def fib(n):
def fib2(fk1, fk, k):
if n == k: return fk
else: return fib2( fk, fk1+fk, k+1)
if n <= 1: return n
else: return fib2(0, 1, 1)
因为fib的定义是在全局帧里被执行,所以fib与全局帧关联
应为fib2的定义是在fib的局部帧里被执行,所以fib2与局部帧的环境相关联
当一个用户定义的函数被调用时,那么调用该函数时所创建的帧被链接到定义该函数时所关联的帧
函数作为模板
函数作为一等类型
1).函数可以赋值给变量
2).可以作为参数传递给函数
3).可以作为返回值返回