王老师:19139051760(微信同号)  13333709510
联大   青书学堂   文才   和学   现代兴业   安徽教育在线   超星   弘成   广东开放大学   国家开放大学   上海开放大学   含弘慕课 

教育服务

成人高校
成考录取分数线
我要提升学历
提升学历的理由:
升职加薪、积分落户、考研、公务员考试、子女入学、出国留学


成人高考报名入口

当前位置: 首页 > 国家开放大学系统 > 郑州大学> 国家开放大学Python程序设计
 

输入试题:
本题添加时间:2023/6/29 14:33:00
圆梦客服:王老师  19139051760(微信同号)  19139051760(微信同号)
请简述生成器与迭代器的区别。

答案是:迭代器是遵循迭代协议的对象。用户可以使用 iter() 以从任何序列得到迭代器(如 list, tuple,dictionary, set 等)。另一个方法则是创建一个另一种形式的迭代器 —— generator 。要获取下一个元素,则使用成员函数 next()(Python 2)或函数 next() function (Python 3) 。当没有元素时,则引发 StopIteration 此例外。若要实现自己的迭代器,则只要实现 next()(Python 2)或 __next__ ()(Python 3);
生成器(Generator),只是在需要返回数据的时候使用yield语句。每次next()被调用时,生成器会返回它脱离的位置(它记忆语句最后一次执行的位置和所有的数据值)
区别: 生成器能做到迭代器能做的所有事,而且因为自动创建iter()和next()方法,生成器显得特别简洁,而且生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序状态的自动方法,当发生器终结时,还会自动抛出StopIteration异常。

出自 国家开放大学Python程序设计  国家开放大学系统

郑州大学

更多试题>>>>
1、请简述函数装饰器的作用。
2、函数和方法之间的区别是什么?
3、什么是缺省参数?
4、try-except与try-finally有什么不同?
5、请简述except 的用法和作用


提升学历-成人高考报名入口 提升学历-成人高考院校名单