python之迭代器
Posted 知_行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之迭代器相关的知识,希望对你有一定的参考价值。
看了小甲鱼的视频,对迭代器有一些了解,在斐波那契数列上犯了个小错误,导致半天都没转过弯,特此记录
迭代
迭代类似与循环每一次重复的过程就称为迭代的过程,而每一次迭代的结果将
作为下一次迭代的初始值,提供迭代方法的容器,称之为迭代器
序列,列表,元组,字符串可以称之为容器,每次一次从容器中拿出数据的过程
称之为迭代操作
迭代操作,BIF
iter()
魔法方法__iter__() 返回自身
next()
__next__() 决定迭代的规则
#coding:utf-8 class Fibs: def __init__(self, n=10): self.a = 0 self.b = 1 self.n = n def __iter__(self): return self def __next__(self): self.a, self.b = self.b, self.a + self.b if self.a > self.n: raise StopIteration return self.a #第一次a = 0 b = 1 #当运行到next魔法方法时先执行b的值给a,故a = 1 此时b = a+b =1 #第二次因赋值语句在前,a得到的是第一次运行时候a+b的值,所以a = 1 fibs = Fibs() for each in fibs: print(each)
END!
以上是关于python之迭代器的主要内容,如果未能解决你的问题,请参考以下文章