2018年11月18日 星期日

python - 生成器進階 關鍵字 send

生成器進階 -send 關鍵字
.send 獲取下一個值的效果和next 基本一致
.只在獲取下一個值得時候,給上一個yield 的位置傳遞一個數據
.使用send的注意事項
        1.第一次使用生成器的時候 是用next獲取下一個值(必須) 
        2.最後一個yield 不能接受外部的值
        3.一定要先給一個值


def  generator ():
    print(123)
    content = yield  1    print('========',content)
    print(456)
    arg =  yield  2    ''''''    yieldg1 = generator()
g2 = generator()
g1.__next__()
g2.__next__()
print('****',generator().__next__())
print('****',generator().__next__())


g = generator()
ret = g.__next__()
print('***',ret)
ret = g.send('hello')    #sendprint('****',ret)

執行結果:
123
123
123
**** 1
123
**** 1
123
*** 1
======== hello
456
**** 2








沒有留言:

張貼留言