首页 > 其他 > 详细

可迭代(Interable),迭代器(Iterator),生成器(generator)的手记

时间:2019-11-05 09:08:34      阅读:75      评论:0      收藏:0      [点我收藏+]

今天既然看到这里了,就做个笔记。这个玩意已经花过我很多时间。

可迭代对象只要有__iter__属性的都可以称呼可迭代(Interable)。

迭代器只要拥有__iter__与__next__属性就是迭代器(Iterator)。

Python里面可以通过iter方法生成迭代器(Iterator),iter(可迭代(Interable))

生成器(generator),可以用简单生成器(i,for i in range(10)),写法跟列表生成器样式通用,把[]换成(),

还有可以通过自定义方法用yield生成。

生成器肯定是迭代器,更加是可迭代对象,生成器的功能是最多的

相对迭代器有三个生成器对象的专属方法:

  • send
  • throw
  • close

简单的来说,迭代器只能从对象里面取值,生成器可以互动了,你还可以向对象里面送值。

yield,send,throw,close。我这里不写了,篇幅很长。

可以参考:https://blog.csdn.net/jpch89/article/details/87036970

一般用的最多也就yield及send,携程的时候要用。


还有可以通过自定义方法用yield生成。
[Hái yǒu kěyǐ tōngguò zì dìngyì fāngfǎ yòng yield shēngchéng.]
技术分享图片
There can be used a method of generating a custom yield.

可迭代(Interable),迭代器(Iterator),生成器(generator)的手记

原文:https://www.cnblogs.com/sidianok/p/11795975.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!