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)四舍五入

python基础-递归的更多相关文章

  1. python基础--递归、三元表达式、列表(字典)生成式、匿名函数、常用的内置函数

    函数的递归:函数在调用阶段直接或者间接的又调用自身 递归的两个阶段: 1.回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都是应该下降的,直接有一个最终的结束条件(这个结束条 ...

  2. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  3. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  4. 十四. Python基础(14)--递归

    十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...

  5. python基础-基础知识(包括:函数递归等知识)

    老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, ", [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有 ...

  6. python基础-基础知识考试_day5 (包括:函数_递归等知识)

    老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, '', [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有数的和, ...

  7. python基础一 day17 初识递归

    #递归函数 # 了解什么是递归 : 在函数中调用自身函数 # 最大递归深度默认是997/998 —— 是python从内存角度出发做得限制 # 能看懂递归 # 能知道递归的应用场景 # 初识递归 —— ...

  8. python基础语法10 函数递归,模块,软件开发目录规范

    函数递归: 函数递归指的是重复 “直接调用或间接调用” 函数本身, 这是一种函数嵌套调用的表现形式. 直接调用: 指的是在函数内置,直接调用函数本身. 间接调用: 两个函数之间相互调用间接造成递归. ...

  9. python基础(补充):递归的深度

    我们在正经人谁用递归呀一节中,简单的讨论了python中的递归 相信用过python递归的朋友可能都碰到过: RecursionError: maximum recursion depth excee ...

随机推荐

  1. ubuntu下安装git提示无root权限

    apt-get install git 获取git指令 sudo passwd root 重置unix密码 su root 键入密码 参考链接 https://www.cnblogs.com/2she ...

  2. java 自加和短路问题 几个例子

    x++可以看做一个独立的变量 如int a=x++;x的值先把他赋值给x++然后X++再赋值a,最后x再自加1 ++X   int a=++   X 先自加1 x的值赋值给++x然后++x再赋值a   ...

  3. javaScript 习题总结(持续更新)

    判定偶数 function collect_all_even(collection) { return collection.filter(item => item%2 == 0); } 两个集 ...

  4. tyvj 1194 划分大理石(多重背包)

    传送门 解题思路 二进制优化多重背包裸题. 代码 #include<iostream> #include<cstdio> #include<cstring> #in ...

  5. JS继承(简单理解版)

    童鞋们,我们今天聊聊js的继承,关于继承,平时开发基本用不到,但是面试没有不考的,我就想问,这是人干的事吗? 好吧,迫于社会主义核心价值观,我们今天就来简单说一说js的继承,谁让它是面向对象编程很重要 ...

  6. VS2010-MFC(常用控件:树形控件Tree Control 下)

    转自:http://www.jizhuomi.com/software/203.html 前面一节讲了树形控件Tree Control的简介.通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件 ...

  7. QT之QByteArray

    1.拷贝内容到QByteArray 1.使用append函数 //结合结构体的(char*)强制转化使用,command.append((char*)&e2_System_Para_t, si ...

  8. js比较常用的

    1. <a href="javascript:void(0);" id="div1_bu" >点击链接可以删除div2</a> 超链接的 ...

  9. PostMan授权认证使用

    Authorization 对于很多应用,出于安全考虑我们的接口并不希望对外公开.这个时候就需要使用授权(Authorization)机制. 授权过程验证您是否具有访问服务器所需数据的权限. 当发送请 ...

  10. 「APIO 2019」桥梁

    题目 三天终于把\(APIO\)做完了 这题还是比较厉害的,如果不知道这是个分块应该就自闭了 考虑一个非常妙的操作,按照操作分块 我们设一个闸值\(S\),把\(S\)个边权修改操作分成一块,把所有的 ...