await和yield from對比
不同點:yield from 后面的值,要么是生成器,要么是最終為可迭代對象,而await后面只能跟async開頭的方法
相同點: 都是產出結果,讓出控制權,等待返回結果
例子說明
分別用await和yield from實現了等待協程完成的過程
async def req1_sub(param):
return param+10
async def req1(param):
res = await req1_sub(param)
res += 100
return res
def req2_sub(param):
res = yield param+10
return res
def req2(param):
res = yield from req2_sub(param)
res += 100
return res
def print_value(f, args):
try:
b = f.send(args)
except StopIteration as e:
print(f'{f.__name__}返回值 {e.value}')
return e.value
else:
print(f'{f.__name__}接收 {b}')
return b
g1 = req1(1)
print_value(g1, None)
g2 = req2(2)
res = print_value(g2, None)
print_value(g2, res)
'''
結果:
req1返回值 111
req2接收 12
req2返回值 112
'''
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
Python與Java都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python
發表于 11-15 09:31
?290次閱讀
與NPU一起使用: C/C++ : C和C++是性能要求較高的應用的首選語言,尤其是在需要直接與硬件交互的場景中。許多NPU硬件都提供了C/C++接口,以便開發者能夠充分利用硬件性能。 Python : Python是深度學習和
發表于 11-15 09:21
?617次閱讀
C語言和Java語言都是當前編程領域中的重要成員,它們各自具有獨特的優勢和特點,適用于不同的應用場景。以下將從語法特性、內存管理、跨平臺性、性能、應用領域等多個方面對C語言和Java語言
發表于 10-29 17:31
?317次閱讀
在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而
發表于 08-01 15:27
?1900次閱讀
Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python
發表于 07-24 10:41
?528次閱讀
Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括機器學習、深度學習、自然
發表于 07-19 17:16
?1061次閱讀
電子發燒友網站提供《Python語言基礎2.rar》資料免費下載
發表于 07-17 17:23
?1次下載
是OpenCV的一個Python語言接口,它允許開發者使用Python語言來調用OpenCV庫的功能。 雖然OpenCV和OpenCV-Python
發表于 07-16 10:38
?1162次閱讀
在人工智能(AI)領域,Python因其簡潔的語法、豐富的庫和強大的社區支持,成為了最受歡迎的編程語言之一。本文將詳細介紹Python中的人工智能框架,并通過具體實例展示如何使用這些框架來實現不同的人工智能應用。
發表于 07-15 14:54
?1718次閱讀
在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現一些基礎的NLP任務
發表于 07-04 14:40
?441次閱讀
async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數為異步函數,并使用await關鍵字等待Promise的解析(完成或拒絕),以同步的方式編寫異步操作的代碼。
發表于 04-02 20:57
?1032次閱讀
async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數為異步函數,并使用await關鍵字等待Promise的解析
發表于 03-06 14:44
使用KIT_A2G_TC387_MOTORCTR開發項目的語言
2. Python語言支持KIT_A2G_TC387_MOTORCTR嗎? 如果支持,使用 Python 是否更方便?
發表于 03-04 07:45
編程語言是一種人與計算機之間進行交流的方式,不同的編程語言有著不同的特點和用途。本文將對四種常見的編程語言——Python、Java、C++和JavaScript進行比較,分析它們的區
發表于 02-05 14:16
?1549次閱讀
C語言、C++、Java和Python是四種常見的編程語言,各有優點和特點。 C語言: C語言是一種面向過程的編程
發表于 02-05 14:11
?2370次閱讀
評論