我是靠谱客的博主 朴实钢铁侠,最近开发中收集的这篇文章主要介绍Python 迭代器 -- iterator点击此处观看本系列配套视频。什么是迭代器?自定义迭代器,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
– Start
点击此处观看本系列配套视频。
什么是迭代器?
迭代器其实是一个规范,实现了这个规范的类就可以在 for 循环中使用,如我们之前学的列表,元组等。
自定义迭代器
下面的例子定义了一个随机迭代器。
import random
class MyContainer:
def __init__(self, *elements):
self._elements = list(elements)
# 自定义迭代器需要实现 __iter__ 方法来返回 iterator 对象
def __iter__(self):
random.shuffle(self._elements)
self._cursor = 0
return self
# 自定义迭代器需要实现 __next__ 方法来提供下一个元素
def __next__(self):
if self._cursor >= len(self._elements):
# 迭代完后抛出 StopIteration 异常
raise StopIteration()
e = self._elements[self._cursor]
self._cursor += 1
return e
# 实例化 MyContainer
mc = MyContainer(1, 2, 3)
# 测试
i = iter(mc) # 使用 iter 构造迭代器
print(next(i)) # 使用 next 获取下一个元素
print(next(i))
print(next(i))
#print(next(i))
# 使用 for 循环
for e in mc:
print(e)
通常我们不需要自定义迭代器,但是迭代器是函数式编程的基础,非常重要。
– 更多参见:Python 精萃
– 声 明:转载请注明出处
– Last Updated on 2018-09-29
– Written by ShangBo on 2018-09-29
– End
最后
以上就是朴实钢铁侠为你收集整理的Python 迭代器 -- iterator点击此处观看本系列配套视频。什么是迭代器?自定义迭代器的全部内容,希望文章能够帮你解决Python 迭代器 -- iterator点击此处观看本系列配套视频。什么是迭代器?自定义迭代器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复