python 迭代器
Posted peterhong-b
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 迭代器相关的知识,希望对你有一定的参考价值。
Python 迭代器特点:
从第一个元素开始访问,直到结束被遍历的对象,期间不能回退。
两个方法:
iter()和next()
把类创建为迭代器需要两个方法:
__iter__()和__next__()
其中__iter__方法返回一个迭代器对象,该对象包含实现了的__next__()方法
迭代器通过stopiteration异常停止迭代(表明迭代已完成):
a=[1,2,3]
b=iter(a) while True: try: next(a) except StopIteration: break
除了使用iter()方法产生迭代器之外,在函数内使用yield 也会使得该函数具有迭代器功能,这样的函数称为迭代器:
举个例子:
def getNumber(): a=1
if a==10:
return
yield a a=a+1
f=getNumber()#这里的f是指生成器返回的yield的值,必须写,否则无法迭代
while True: try:print(next(f)) except StopIteration: break
以上是关于python 迭代器的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在这个 python 片段中得到 float 是不可迭代的? [复制]
python:可迭代对象,迭代器,生成器函数,生成器的解析举例代码说明