a_good_name

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
class IterClass():
	def __init__(self):
		self.index = 0
	def __iter__(self):
		print("+++")
		return self
	# def __next__(self):
	# 	value = self.index
	# 	print("---")
	# 	self.index +=1
	# 	return value
bb = IterClass()
for i in bb:
	if i >5:
		raise StopIteration
	print(i)
#
# for i in range(5):
# 	print(next(bb))

###结论: 
(1)能被for循环的对象,里面一定有__iter__和 __next__两种方法,该对象被for循环时,会优先执行__iter__里面的内容,再循环执行__next__里面的内容
(2)能被next调用的对象,里面一定有__next__方法,__iter__方法是否具有不能确定
posted on 2021-06-25 16:57  a_good_name  阅读(235)  评论(0编辑  收藏  举报