python成员访问

来源:互联网 发布:淘宝拒签后 退款 编辑:程序博客网 时间:2024/06/16 18:39

1)迭代器iter方法会返回一个迭代器,所谓迭代器就是具有next的方法,在调用next时,迭代器会返回他的下一个值)
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

fib=Fibs()
for f in fib:
if f<100:
print f

2)生成器:任何包含yield语句的函数称为生成器,类似return, 不同之处在于,yield返回的是一个生成器
def flatten(nested):
for sublist in nested:
for element in sublist:
yield element

a=[[1,2],[3,4],[5]]
for num in flatten(a):
print num