python中的迭代器、生成器、装饰器

装饰器

装饰器本质上是一个Python函数,它可以在让其他函数在不需要做任何代码的变动的前提下增加额外的功能。 装饰器的返回值也是一个函数的对象,它经常用于有切面需求的场景。 比如:插入日志、性能测试、事务处理、缓存、权限的校验等场景 有了装饰器就可以抽离出大量的与函数功能本身无关的雷同代码并发并继续使用

生成器

生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需要返回数据的时候使用 yield 语句。每次 next()被调用时,生成器会返回它脱离的位置(它记忆语句最后一次执行的位置和所有的数据值)

迭代器

迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个StopIteration异常

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本节课纲 可迭代对象 迭代器 生成器Python中内置的序列,如list、tuple、str、bytes、dict...
    郭_扬阅读 5,020评论 0 0
  • 前言 在学Python时,我对于生成器和迭代器理解得不清楚,检索到了一篇文章,把这两个东西讲得很透,应该是我能找到...
    backup备份阅读 5,420评论 1 3
  • 迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代...
    Mr_Bluyee阅读 4,671评论 0 1
  • 暮至霓虹亮,天寒衙署空。 庙堂忧案积,风雪夜班中。
    飞哥判案阅读 2,361评论 0 2
  • 好奇一般表现为:1、对一些事物表示特别注意的情绪。2、喜欢探究不了解事物的心理状态。3、 对于怪诞的嗜好或...
    宋玉子阅读 3,619评论 0 2