采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在14-5课中,对类BookCollection,增加一个方法解决迭代器一次性问题。比如:reset.
def self.reset(self, cur=0): self.cur = cur
可否详细说明下?
在BookCollection中,原来用变量self.cur 对迭代器进行计数,如果self.cur 大于等于 列表self.data 的长度,则会抛出异常; 我的意思是:如果用方法对self.cur 重新赋值为0,那么下次仍然可以遍历这个迭代器,而不用创建新的对象,或者复制这个对象。
这样做是可以的。
我也想到了这个问题,实际测试了一下,在抛出异常之后把计数器变量重置,迭代器就可以重复使用了。
if self.cur >= len(self.date):
self.cur = 0
raise StopIteration()
reset好像是重置方法的,等于是把它重置了一下再迭代。
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.5k 7
2.5k 3
2.1k 4
4.1k 22
2.3k 19