2023-07-19

49生成器

闭包/全局变量让函数在退出后还能保留状态全局变量污染空间 闭包较复杂 选生成器

定义:在函数中用yield表达式来代替函数中return语句

实现生成器的另一种方法:直接使用生成器表达式


For语句功能:每次在可迭代对象中获取一个数据

(Counter)生成器不像列表元组等可迭代对象,而看作是制作机器作用即每次调用时提供一个数据,并且会记住当时的状态,而列表元组这些则是容器,存放早已备好的所有数据

生成器可以看作是一种特殊的迭代器 首先不走回头路 第二支持next()函数


生成器每调用一次获取一结果的特性,使生成器对象无法使用下标索引这种随机访问的方式

生成器表达式:利用推导的形式获得生成器的方法

与生成器特性不同,列表推导式会一下将所有的数据生产出来并放到列表中


分别用闭包、生成器 来求斐波那契数列

由于函数中没有设置结束条件 用for语句迭代他直到强制退出


50递归:函数调用自身的过程

函数之间是可以相互调用的


要让递归正常工作,必须要有一个结束条件,并且每次调用都会向着该结束条件推进


用迭代和递归来实现同一个任务:

求一个数的阶乘 

定义一个递归函数,参数就是每次要运算的这个数值,接着让参数每次调用时都递减一下


斐波那契数列

递归存在效率问题,每一次调用递归函数 它并不会立刻返回,而是要等到最底层的那个函数返回,再一层一层往上走

迭代就是一瞬间的事

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • # Python关键字 部分单词没有分类整理按照顺序整理的 ``` statements语句 print输出 qu...
    ZhouLang阅读 3,759评论 0 0
  • 世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。 -- 罗曼罗兰 大家好,我是柒八九。 在如...
    前端小魔女阅读 3,749评论 0 1
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,435评论 17 410
  • 本文的主题都是关于函数的  1. 函数的语法;  2. 函数的对象;  3. 函数装饰器;  4. lambda表...
    杨强AT南京阅读 4,390评论 0 1
  • 一、基础知识 1.数据类型 数据类型主要有整数型(整数连除法都是整数的,用地板除//,浮点数(其实就是小数,这么说...
    最初的美好_kai阅读 1,684评论 0 1

友情链接更多精彩内容