await和yield from對(duì)比
不同點(diǎn):yield from 后面的值,要么是生成器,要么是最終為可迭代對(duì)象,而await后面只能跟async開頭的方法
相同點(diǎn): 都是產(chǎn)出結(jié)果,讓出控制權(quán),等待返回結(jié)果
例子說明
分別用await和yield from實(shí)現(xiàn)了等待協(xié)程完成的過程
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__}接收 ')
return b
g1 = req1(1)
print_value(g1, None)
g2 = req2(2)
res = print_value(g2, None)
print_value(g2, res)
'''
結(jié)果:
req1返回值 111
req2接收 12
req2返回值 112
'''
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C語言和Java語言
發(fā)表于 10-29 17:31
?159次閱讀
在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的庫和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而
發(fā)表于 08-01 15:27
?1526次閱讀
電子發(fā)燒友網(wǎng)站提供《Python語言基礎(chǔ)2.rar》資料免費(fèi)下載
發(fā)表于 07-17 17:23
?1次下載
是OpenCV的一個(gè)Python語言接口,它允許開發(fā)者使用Python語言來調(diào)用OpenCV庫的功能。 雖然OpenCV和OpenCV-Python
發(fā)表于 07-16 10:38
?885次閱讀
在人工智能(AI)領(lǐng)域,Python因其簡(jiǎn)潔的語法、豐富的庫和強(qiáng)大的社區(qū)支持,成為了最受歡迎的編程語言之一。本文將詳細(xì)介紹Python中的人工智能框架,并通過具體實(shí)例展示如何使用這些框架來實(shí)現(xiàn)不同的人工智能應(yīng)用。
發(fā)表于 07-15 14:54
?1510次閱讀
在探討使用Python進(jìn)行自然語言處理(NLP)的廣闊領(lǐng)域時(shí),我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢(shì),以及如何通過Python實(shí)現(xiàn)一些基礎(chǔ)的NLP任務(wù)
發(fā)表于 07-04 14:40
?378次閱讀
async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡(jiǎn)單和易讀。通過使用async關(guān)鍵字聲明一個(gè)函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待Promise的解析(完成或拒絕),以同步的方式編寫異步操作的代碼。
發(fā)表于 04-02 20:57
?931次閱讀
async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡(jiǎn)單和易讀。通過使用async關(guān)鍵字聲明一個(gè)函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待Promise的解析
發(fā)表于 03-06 14:44
編程語言是一種人與計(jì)算機(jī)之間進(jìn)行交流的方式,不同的編程語言有著不同的特點(diǎn)和用途。本文將對(duì)四種常見的編程語言——Python、Java、C++和JavaScript進(jìn)行比較,分析它們的區(qū)
發(fā)表于 02-05 14:16
?1383次閱讀
C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言: C語言是一種面向過程的編程
發(fā)表于 02-05 14:11
?2153次閱讀
Python是一種非常流行的編程語言,可以用于多種用途,包括自動(dòng)化任務(wù)。其中一個(gè)常見的自動(dòng)化任務(wù)是自動(dòng)發(fā)送郵件。在本文中,我們將介紹如何使用Python編寫腳本來自動(dòng)發(fā)送郵件。 要使用Pyth
發(fā)表于 12-07 11:36
?1280次閱讀
Python是一種廣泛使用的高級(jí)編程語言,它有許多種運(yùn)行環(huán)境,可以適應(yīng)不同的開發(fā)需求。下面將詳細(xì)介紹Python的幾種常見的運(yùn)行環(huán)境。 CPython: CPython是Python的
發(fā)表于 11-29 16:14
?1885次閱讀
Python是一種流行的編程語言,它在許多不同的領(lǐng)域中被廣泛使用,例如網(wǎng)站開發(fā)、數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)等。對(duì)于使用Python的開發(fā)者來說,了解Python軟件的電腦配置要求是非常重要的。
發(fā)表于 11-29 14:58
?9673次閱讀
Python是一種高級(jí)編程語言,由Guido van Rossum于1991年首次發(fā)布。它具有許多獨(dú)特的特點(diǎn),這些特點(diǎn)使得Python在軟件開發(fā)領(lǐng)域變得非常流行。以下是關(guān)于Python
發(fā)表于 11-29 14:29
?1014次閱讀
Python編程語言屬于高級(jí)編程語言中的一種。它是一種通用、面向?qū)ο?、解釋型編?b class='flag-5'>語言。Python由Guido van Rossum于198
發(fā)表于 11-22 14:31
?1341次閱讀
評(píng)論