0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python語言之a(chǎn)wait和yield from的對比

冬至配餃子 ? 來源:繆斯之子 ? 作者:肖新苗 ? 2022-08-24 12:02 ? 次閱讀

await和yield from對比

不同點:yield from 后面的值,要么是生成器,要么是最終為可迭代對象,而await后面只能跟async開頭的方法

相同點: 都是產(chǎn)出結(jié)果,讓出控制權(quán),等待返回結(jié)果

例子說明

分別用await和yield from實現(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    316

    瀏覽量

    21040
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84757
收藏 人收藏

    評論

    相關(guān)推薦

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言
    的頭像 發(fā)表于 12-24 17:33 ?364次閱讀

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨特的優(yōu)勢和適用場景。以下是對這兩種編程語言對比: 一、語法和易用性 Python
    的頭像 發(fā)表于 11-15 09:31 ?336次閱讀

    NPU支持的編程語言有哪些

    與NPU一起使用: C/C++ : C和C++是性能要求較高的應(yīng)用的首選語言,尤其是在需要直接與硬件交互的場景中。許多NPU硬件都提供了C/C++接口,以便開發(fā)者能夠充分利用硬件性能。 PythonPython是深度學(xué)習(xí)和
    的頭像 發(fā)表于 11-15 09:21 ?716次閱讀

    C語言與Java語言對比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨特的優(yōu)勢和特點,適用于不同的應(yīng)用場景。以下將從語法特性、內(nèi)存管理、跨平臺性、性能、應(yīng)用領(lǐng)域等多個方面對C語言和Java語言
    的頭像 發(fā)表于 10-29 17:31 ?358次閱讀

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的庫和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而
    的頭像 發(fā)表于 08-01 15:27 ?2015次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強大、免費、開源且面向?qū)ο蟮木幊?b class='flag-5'>語言,在科學(xué)計算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡潔的語法、對動態(tài)輸入的支持以及解釋性語言的本質(zhì),使得Python
    的頭像 發(fā)表于 07-24 10:41 ?569次閱讀

    Python語言基礎(chǔ)2

    電子發(fā)燒友網(wǎng)站提供《Python語言基礎(chǔ)2.rar》資料免費下載
    發(fā)表于 07-17 17:23 ?1次下載

    opencv-python和opencv一樣嗎

    是OpenCV的一個Python語言接口,它允許開發(fā)者使用Python語言來調(diào)用OpenCV庫的功能。 雖然OpenCV和OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1230次閱讀

    Python中的人工智能框架與實例

    在人工智能(AI)領(lǐng)域,Python因其簡潔的語法、豐富的庫和強大的社區(qū)支持,成為了最受歡迎的編程語言之一。本文將詳細(xì)介紹Python中的人工智能框架,并通過具體實例展示如何使用這些框架來實現(xiàn)不同的人工智能應(yīng)用。
    的頭像 發(fā)表于 07-15 14:54 ?1748次閱讀

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理(NLP)的廣闊領(lǐng)域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢,以及如何通過Python實現(xiàn)一些基礎(chǔ)的NLP任務(wù)
    的頭像 發(fā)表于 07-04 14:40 ?459次閱讀

    鴻蒙OS開發(fā)實例:【ArkTS類庫異步并發(fā)async/await

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關(guān)鍵字聲明一個函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待Promise的解析(完成或拒絕),以同步的方式編寫異步操作的代碼。
    的頭像 發(fā)表于 04-02 20:57 ?1057次閱讀
    鴻蒙OS開發(fā)實例:【ArkTS類庫異步并發(fā)async/<b class='flag-5'>await</b>】

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫異步并發(fā)簡述async/await

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關(guān)鍵字聲明一個函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待Promise的解析
    發(fā)表于 03-06 14:44

    Python語言支持KIT_A2G_TC387_MOTORCTR嗎?

    使用KIT_A2G_TC387_MOTORCTR開發(fā)項目的語言 2. Python語言支持KIT_A2G_TC387_MOTORCTR嗎? 如果支持,使用 Python 是否更方便?
    發(fā)表于 03-04 07:45

    四種編程語言之間的區(qū)別和聯(lián)系

    編程語言是一種人與計算機之間進行交流的方式,不同的編程語言有著不同的特點和用途。本文將對四種常見的編程語言——Python、Java、C++和JavaScript進行比較,分析它們的區(qū)
    的頭像 發(fā)表于 02-05 14:16 ?1597次閱讀

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言: C語言是一種面向過程的編程
    的頭像 發(fā)表于 02-05 14:11 ?2431次閱讀