python中可迭代对象,迭代器,和生成器

找工作面试过了都不要,慢慢好多东西都忘了,为知笔记也用不了,写些笔记留给自己看吧,果然学习是很快乐的。

首先理清它们间关系是,可迭代对象>迭代器>生成器

https://foofish.net/iterators-vs-generators.html

可迭代对象包含两类,集合数据和迭代器

判断的方法 for循环判断

或者 isinstance([],Iterable)   iter()方法是否返回一个迭代器

 

迭代器,迭代器能使用next()方法,本质是实现了__iter__和__next__方法

isinstance([],Iterator)  或者使用next()方法

 

生成器

python中一边计算一边循环一边计算的机制,称为生成器

生成器是在函数中加了关键字yield,一个函数中可以有多个yield,通常用于协程

生成器特有的一个方法send(),因为它也是迭代器,所以next()就不提了

https://www.cnblogs.com/yinheyi/p/8087822.html

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值