递归函数

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

递归函数特性:

必须有一个明确的结束条件;
    每次进入更深一层递归时,问题规模相比上次递归都应有所减少
    相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。
    递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
先举个简单的例子:计算1到100之间相加之和;通过循环和递归两种方式实现

# 循环方式 def sum_cycle(n):     sum = 0     for i in range(1,n+1) :         sum += i print(sum) # 递归方式 def sum_recu(n):     if n>0:        return n +sum_recu(n-1)     else:        return 0  sum_cycle(100) sum = sum_recu(100) print(sum)

结果:

5050
5050

递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。
--------------------- 
匿名函数

匿名函数特点:    1.不用取名称,因为给函数取名是比较头疼的一件事,特别是函数比较多的时候      2.可以直接在使用的地方定义,如果需要修改,直接找到修改即可,方便以后代码的维护工作    3.语法结构简单,不用使用def 函数名(参数名):这种方式定义,直接使用lambda 参数:返回值 定义即可
---------------------

python递归,匿名函数相关推荐

  1. python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数

    跟光磊学Python开发-匿名函数函数和高阶函数 跟光磊学Python开发-匿名函数函数和高阶函数跟光磊学Python开发 匿名函数 匿名函数就是函数定义时没有名字的函数,也称为匿名表达式. 普通函数 ...

  2. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  3. python的匿名函数返回值_Python匿名函数返回值输出问题望指点

    该段的匿名函数作为返回值返回,那请问可以输出对应的值吗?小白途中!望各位指点! def build(x, y): return lambda: x * x + y * y 1.匿名函数在一定意义上应该 ...

  4. python 中匿名函数的使用

    一.概述 在python3中的匿名函数是用来处理一些简单的逻辑,简单的功能的,这样可以节省栈内存,在使用场景中,很多情况是用于某个函数的参数,或者一些只需要一句话的逻辑,接下来让我们看看匿名函数的使用 ...

  5. Python的匿名函数

    Python的匿名函数 一.前言 二.匿名函数语法格式 三.匿名函数实例应用 一.前言   匿名函数是指没有名字的函数,它主要应用在需要一个函数.但是又不想费神去命名这个函数的场合.通常情况下,这样的 ...

  6. python day-15 匿名函数 sorted ()函数 filter()函数 map()函数 递归 二分法...

    一.匿名函数 匿名函数的结构:变量   =  lamda  参数: 返回值 a  =  lamda  x : x*x       # x为参数,   : 后边的为函数体 print(a(x)) def ...

  7. Python 函数的执行流程-函数递归-匿名函数-生成器

    1 函数的执行流程 函数的执行需要对函数进行压栈的,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要变量以及指针的意思.具体涉及的知识非常多,这里就已一个Python脚本简单进行分析. 当 ...

  8. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  9. Python中匿名函数及递归思想简析(小本本记下来)

    前言: 上次咱们基本说了一下函数的定义及简单使用,想要了解的伙伴可以去看看.Python中最基本的函数及其常用用法简析(新手必备)小本本记起来 现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要 ...

  10. python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...

     函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ...

最新文章

  1. Y15BeTa蜂鸣器唱歌程序-演奏版
  2. 网络分流器-网络分流器IP网络路由交换测试技术探讨
  3. java与 C++ 之间进行 SOCKET 通讯要点简要解析
  4. 计算机中缺少d3dx9_35.dll,d3dx9_35.dll丢失怎么办-d3dx9_35.dll丢失的解决办法
  5. 60.Java 代码编译和执行的整个过程
  6. linux查看逻辑卷命令,Linux命令--逻辑卷管理
  7. FormData的使用
  8. linux实现任务计划,linux cron实现计划任务
  9. 大数取余运算(详解)
  10. JDBC学习(四、DAO思想和重构设计上)
  11. JAVA实现飞机大战详解
  12. KAIOS软件下载-自己做的
  13. SAP的系统审计以及SM19的使用
  14. linux密码记录木马,注意 “QQ大盗”木马注入 QQ 进程记录QQ账号与密码
  15. websocket错误码盘点
  16. Visual Studio 2022自定义(透明)主题和壁纸完整版
  17. LuceneElasticSeach
  18. 《人月神话》8 胸有成竹(Chaptor 8.Calling the Shot -The Mythical Man-Month)
  19. 分布式系统(三) 分布式事务服务搭建
  20. git 撤回commit

热门文章

  1. 拼多多产品怎么引流?拼多多商品怎么引更多的流量?
  2. 谁是“明日之子”?互动视频的模糊元年
  3. 可观测白皮书 part2/2
  4. VMware Station pro15虚拟机的下载与安装
  5. 业余时间研究了下微信小程序版的街机游戏模拟器,8090后的童年回忆啊
  6. cpu空载50度,三代锐龙CPU待机50度降不下来?AMD的解决方案来了!
  7. Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。
  8. 【php】PHP语言进阶
  9. 深度解析C语言文件操作以及常见问题
  10. 相机平面与工作平面带夹角下的坐标换算