
魔术方法:迭代器学习笔记
迭代说人话就是循环
iter():iter()
next():next()
1 |
>>> str = "asdfsadf" |
class fibs:
def init(self):
self.a = 0
self.b = 1
def iter(self):
return self
def next(self):
self.a,self.b = self.b,self.a+self.b
return self.a
f = fibs()
for each in f:
if each < 50:
print(each)
else:
break
1
1
2
3
5
8
13
21
34
1 |
改良: |
class fibs:
def init(self,n=50):
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
f = fibs()
for each in f:
print(each)
1
1
2
3
5
8
13
21
34
f = fibs(100)
for each in f:
print(each)
1
1
2
3
5
8
13
21
34
55
89`




近期评论