10、生成器

#大前提:生成器就是一種自定義的迭代器,本質就是迭代器

# 但凡函數內包含yield關鍵字,調用函數不會執行函數體代碼,會獲得一個返回值,該返回值就是生成器對象python

def func():
    print('first')
    yield 1
    print('second')
    yield 2
    print('third')
    yield 3
    print('fourth')

g=func()
print(g)
print(g.__iter__().__iter__() is g)

res1=next(g)
-----------------------------------------------------------------------------------------
<generator object func at 0x00000245E1BDBDB0>
True
first

#會觸發函數的執行,直到碰到一個yield停下來,而且將yield後的值看成本次next的結果返回ide

相關文章
相關標籤/搜索