概念:
- 电脑运算视作数学上的函数计算
- 高阶函数: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