python基础-递归

1.递归调用:在一个函数调用的过程中,直接或间接又调用了自身,就是递归调用

2.递归必备的两个阶段:1.递推  2.回溯

总结:#总结递归的使用:

          1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

          3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构

              实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大

              小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

3.匿名函数:fun=lambda x,y,z=1:x+y+z

                  #有名函数与匿名函数的对比

                   有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能

                  匿名函数:一次性使用,随时随时定义

          应用:max,min,sorted,map,reduce,filter

                 a={'aa':1000000,'bb':9999999,'cc':10111111}

         print(max(a,key=lambda k:a[k]))

         print(min(a,key=lambda k:a[k]))

4.内置函数:

    enumerate()将值和索引达成元素的迭代器

    eval()将字符串中的代码提取出来,exec也是此功能。只是没有返回值

    pow():pow(2,3,3)#(2**3)%3

    round(num)四舍五入

 

posted @ 2019-12-12 16:38  birdfish  阅读(233)  评论(0编辑  收藏  举报