我是靠谱客的博主 朴实钢铁侠,最近开发中收集的这篇文章主要介绍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点击此处观看本系列配套视频。什么是迭代器?自定义迭代器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部