编程语言
首页 > 编程语言> > python基础-函数式编程

python基础-函数式编程

作者:互联网

概念:

闭包Closure

例子:

def cache(func):
  store = {}  # 外部自由变量
  @wraps(func)
  def _ (n):  # 闭包函数
    if n in store:
      return store[n]
    else:
      ret = func(n)
      store[n] = ret
      return ret
  return _

def f(n):
  if n<=1:
    return 1
  return f(n-1) + f(n-2)

闭包:引用了外部自由变量的函数
自由变量:不在当前闭包函数定义的变量
特性:自由变量会和闭包函数同时存在

标签:闭包,return,函数,python,编程,ret,store,变量
来源: https://www.cnblogs.com/aleiyoy/p/16602264.html