|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> 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
>>> fibs = Fibs()
>>> for each in fibs:
if each < 20:
print(each)
else:
break
1
1
2
3
5
8
13
教材例子疑问
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
这一段怎么求出来的结果不能理解,哪位大神帮忙指点下。
a 和b的初始值分别是0和1,然后开始迭代,调用了next的魔法方法,怎么就得出最后的结果了?
self.a, self.b = self.b, self.a + self.b 这句是简写啊,分开写就好理解了
x = self.a # =0
self.a = self.b # =1
self.b = x + self.b # =0 + 1
|
|