python基础-函数式编程


概念:

  • 电脑运算视作数学上的函数计算
  • 高阶函数:map,reduce,filter
  • 无副作用,相同的参数调用时钟产生同样的结果

闭包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)

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281237.html

(0)
上一篇 2022年8月20日
下一篇 2022年8月20日

相关推荐

发表回复

登录后才能评论