python 迭代器、生成器基础知识
来源:互联网 发布:腾讯内测手游软件 编辑:程序博客网 时间:2024/06/08 10:31
1.迭代器
迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和next()方法。其中__iter__()方法返回迭代器对象本身;next()方法返回容器的下一个元素,在结尾时引发StopIteration异常。
2.生成器generator
在 Python 中,使用生成器可以很方便的支持迭代器协议。生成器通过生成器函数产生,生成器函数可以通过常规的def 语句来定义,但是不用 return 返回,而是用 yield 一次返回一个结果,在每个结果之间挂起和继续它们的状态,来自动实现迭代协议。也就是说,yield 是一个语法糖,内部实现支持了迭代器协议,同时 yield 内部是一个状态机,维护着挂起和继续的状态。生成器函数返回生成器的迭代器。 “生成器的迭代器”这个术语通常被称作”生成器”。要注意的是生成器就是一类特殊的迭代器。作为一个迭代器,生成器必须要定义一些方法,其中一个就是 __next__()。如同迭代器一样,我们可以使用 __next__() 函数来获取下一个值。在一个 generator function 中,如果没有 return,则默认执行至函数完毕,如果在执行过程中 return,则直接抛出 StopIteration 终止迭代。
(学习笔记整理来自潭州 python 不动老师的课程内容)
阅读全文
1 0
- python 迭代器、生成器基础知识
- Python基础知识7:生成器和迭代器、递归
- Python基础知识之生成器
- python 迭代器 生成器 生成器表达式
- python迭代器和生成器
- Python 迭代器和生成器
- Python 迭代器 生成器
- Python 迭代器和生成器
- Python迭代器和生成器
- python~迭代器~生成器~
- Python之生成器、迭代器
- python 迭代器与生成器
- Python迭代器和生成器
- python迭代器与生成器
- python 迭代器与生成器
- python迭代器以及生成器
- Python:迭代器与生成器
- Python 迭代器 生成器
- JAVA第六次作业
- python实践项目(七)
- Short Program CodeForces
- JS中innerHTML outerHTML innerText outerText 和 value
- 5.2
- python 迭代器、生成器基础知识
- python笔记---需求文件requirements.txt的创建及使用
- 线程监控
- 集体智慧编程中文版错误记录
- iOS Reactivecocoa(RAC)原理分析
- CSS-Flexbox
- 声学特征变换 fMLLR
- Struts防止表单重复提交
- Mysql+Keepalived高可用性双主配置