讨论Python中的迭代器方法
一 迭代
1.迭代:意味着重复多次,就像循环那样。
2.可以用for循环迭代序列和字典,也可以迭代其他对象:实现了方法_iter_的对象。
3.方法_iter_返回一个迭代器,它是包含方法_next_的对象,调用这个方法时可不提供如何参数。当你调用方法_next_时,迭代器应该返回其下一个值。如果迭代器没有可供返回的值,应引发StopIteration异常。
4.我们还可以使用内置的便利函数next,在这种情况下,next(it)与it.next()等效。
二意义
1.在很多时候,使用列表过于复杂,可以直接使用迭代,以免大材小用。
2.迭代可以逐一获取值,列表一次性输出所有值。
3.列表可能会占用太多内存,迭代则减少内存的占用。
三 例子
斐波那契数列的迭代器如下:
class Fibs:
def_init_(self):
self.a=0
self.b=1
def_next_(self):
self.a,self.b=self.b,self.a+self.b
return self.a
def_iter_(self):
return self