生成器yield(17-06)
阿新 • • 發佈:2018-09-22
生成 n) col none 是你 style 使用 int 次數
yield 執行以上代碼,yield後面可以有返回值
next() 獲取
next的使用次數,是你生成器中yield出現的次數
def p():
print("ok")
yield 18
print("ok2")
yield
n = p()
ret = next(n) # 用next()去獲取調用者n,遇到yield才執行以上代碼後返回
print(ret)
next(n)
# ------------運行結果
# ok
# 18
# ok2
------------------------------------------------------------------------------------------------------------
可以傳入參數給yield
但首次傳入參數必須是None
send() 傳入
當send傳入參數後,會自動使用一次next來執行yield以上代碼
def s():
print("AB")
conn = yield
print(conn)
print(‘Hello‘)
yield
n = s()
n.send(None) # 首次傳入必須是None
next(n)
# --------------------運行結果
# AB
# None
# Hello
n = s()
next(n)
n.send(188)
# ---------------------運行結果
# AB
# 188
# Hello
生成器yield(17-06)