from collections import Iterable
class StudentList(object):
# 构造方法 __init__ 默认先创建一个保存数据的列表
def __init__(self):
# 创建一个空的list列表,保存的实例属性items中
self.items = list()
# __iter__方法
def __iter__(self):
# 返回迭代器
stu_iterator = StudentIterator(self.items)
return stu_iterator
# addItem 方法,用于向对象中添加数据
def addItem(self, item):
# 把值追加到列表中
self.items.append(item)
print(self.items)
创建迭代器
1) 类中必须有 iter 方法
2) 类中必须有 next 方法
class StudentIterator(object):
def __init__(self, items):
# 保存要迭代的数据到 迭代器
self.items = items
# 定义变量,保存当前迭代的位置
self.current_index = 0
def __iter__(self):
return self
# 当调用 next(迭代器)
def __next__(self):
# 判断当前位置是否到了末尾
if self.current_index < len(self.items):
# 获取下标对应的元素