编写一个计数器类型,创建的对象可以通过for循环遍历
提示:for循环可以遍历的对象是可迭代对象,内部可以通过__iter__()魔法方法获取遍历数据的迭代器
提示2:yield关键字
class Counter:
"""计数器类型"""
# 请在此处编写代码
pass
cnt = Counter(100)
for x in cnt:
print(x)
# 打印0~100的数据
代码如下
class Counter:
def __init__(self, end):
self.end = end
def __iter__(self):
for i in range(self.end + 1):
yield i
# 创建计数器对象
cnt = Counter(100)
# 使用 for 循环遍历计数器
for x in cnt:
print(x)
__iter__
方法使用yield
关键字生成从 0 到self.end
的整数,在使用for循环遍历cnt时就可以从可迭代对象中获得下一个值赋值给x并进行打印