一个类只要同时有__next__()和__iter__(self)就是迭代器类?

一个类只要同时有__next__()和__iter__(self)就是迭代器类?

一个类只要同时有__next__()和__iter__(self)就是迭代器类?

这个类实例化的对象就是一个迭代器吗

是不是创建迭代器有两种方式:

  1. iter()

  2. 创建迭代器类

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕美 2019-05-24 15:56:34

同学,你好,生成迭代器的方式:

1、类中实现__iter__( )方法和__next__( )方法:我们只要在自定义的类中实现了这两个方法,这个类的实例对象就是迭代器,不仅可以用for ... in循环,也可以用next( )遍历。

2、iter( )函数:iter( )函数可用来返回一个迭代器对象,iter( )函数只传入一个参数时,参数必须为可迭代对象(list、tuple、str等)。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 请问定义一个类和使用iter()函数有什么区别呢?在什么场景下该是用哪个?不是很明白这两个的区别
    2019-05-28 16:43:44
  • iter()是系统封装好的函数,传入的参数必须是可迭代对象,返回一个迭代器对象,通过next()取值;使用类实现迭代器:相当于自己构造了一个迭代器,要实现__iter__( )方法和__next__( )方法才可以。
    2019-05-28 17:12:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师