尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

递归函数、闭包

递归函数、闭包 递归函数含义递归函数就是自己调用自己条件1.要有递归结束的条件2.后一次的递归要比前一次递归的规模要小3.相邻两次重复要有紧密的关系优点简洁逻辑强缺点使用时反复调用耗内存示例1实现1~101的累加和方法1for循环def add1(): sum 0 for i in range(1,101):#range这是一个计数器函数 sum i print(sum) add1()方法2递归def add2(n): if n 1:#结束的条件 return 1 return n add2(n - 1) print(add2(100))示例2实现斐波那契数列的递归 1 1 2 3 5 8 13def funa(n): if n 1:#结束的条件 return n return funa(n - 1) funa(n - 2) print(funa(3))闭包含义函数嵌套函数里面再定义一个函数内层函数调用外层函数的变量外层函数返回内存函数的函数名def outer(): n 10 def inner(): print(n) return inner outer()() #这里亦可以这样用 ot outer()#声明一个变量ot ot()含参数情况def outer(n): print(这是outer函数) def inner(m): print(这是inner函数) return n m return inner print(outer(10)(20))每次开启闭包函数都使用同一份闭包变量使用闭包函数的过程中一旦外函数被调用了一次。返回了内函数引用虽然每次调用内函数但只开启一个闭包变量def outer(n): print(这是outer函数) def inner(m): print(这是inner函数) return n m return inner print(outer(10)(20)) print(outer(10)(30))结果这是outer函数 这是inner函数 30 这是outer函数 这是inner函数 40
返回列表