1. 程式人生 > 程式設計 >通過例項簡單瞭解Python中yield的作用

通過例項簡單瞭解Python中yield的作用

這篇文章主要介紹了通過例項簡單瞭解Python中yield的作用,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

介紹

我們有時候會發現程式碼中return的地方,有用yield的,難道他們一樣嗎?其實,yield與return看起來很像,但實際上完全不同。

使用

def test():
  print("****start****")
  while 1:
    res = yield 1
    print("res:",res)
t = test() # 函式中有yield關鍵字,所以函式並不會真的執行,而是先得到一個生成器t
print(next(t)) # next讓函式開始執行,列印start,然後把1返回給next(t),並把1打印出來,這時res還沒賦值
print("*"*10) # 列印十個* 
print(next(t)) # 函式從res = yield開始執行,但是1已經被yield出去了,所以res實際上沒有值,就是None,然後while重新迴圈,1被yield出去列印

# ****start****
# 1
# **********
# res:None
# 1

你繞出來了嗎?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。