python08-生成器 & 迭代器

2017-05-09  本文已影响0人  AndroidCat

生成器

def myrang():
    print('1')
    yield 1
    print('2')
    yield 2
    print('3')
    yield 3

ret = myrang()
print(ret) # <generator object myrang at 0x10217a8e0>

r1 = ret.__next__()
print(r1)
r2 = ret.__next__()
print(r2)
r3 = ret.__next__()
print(r3)
r4 = ret.__next__() # 报错
print(r4)
def myrang(num):
    cur = 0
    while True:
        if num <= cur:
            return
        yield cur
        cur += 1

迭代器

it = iter([1,2,3,4,5])
ret = it.__next__()
print(ret)
ret = it.__next__()
print(ret)
b = it.__next__()
print(b)
上一篇 下一篇

猜你喜欢

热点阅读