在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python語言之使用async關鍵字來定義函數

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

協程背景

早期的協程是用yield來實現的,但是代碼特別難懂, python3.5之后的版本, 使用 async 關鍵字來定義的函數。調用該函數,會返回一個協程對象

async和yield對比

不同點:

1.1 yield語法比較復雜,async語法簡單

yield:b=yield a,yield右邊的a是第一次的返回值,左邊的b是第二次執行的輸入值,最后還有一個return是最后一次返回值

async:方法前面加async,做send參數時,只能傳None,代碼可讀性大大提高了, 開發者只需要關注傳參和返回值, 而不需要花額外精力去理解yield左右的變量

1.2 async只需要send一次就可以獲得返回值,yield要send2次

例子說明

分別用yield和async的方式, 實現協程


async def req1(param):
return param


def req2(param):
res = yield param
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返回值 1
req2接收 2
req2返回值 2
'''


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4372

    瀏覽量

    64306
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86284
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    單片機編程關鍵字之volatile

    volatile 修飾的變量是說這變量可能會被意想不到地改變。通常對于程序員而言,單片機 中用的就算常見了volatile 是易變的,不穩定的意思。其實對于很多人來說,根本沒見過這個關鍵字,不 知道
    發表于 04-02 13:47 ?2次下載

    const定義的是不是常量

    變成數字 5。 第二種跟宏定義類似,常量也可以在編譯的時候通過編譯器傳入。 以 gcc 為例,編譯的時候提供 -D 選項,同樣會在預處理的時候替換成相應的數字。 第三種枚舉,使用 enum 關鍵字。 枚舉的特點是默認從 0 開始,逐漸遞增。如果需要大量含義相同的常量
    的頭像 發表于 01-14 11:35 ?372次閱讀

    C語言關鍵字分別發生在哪個階段

    在編譯的第一個階段:預處理,對一些宏定義做替換。 第二個,const。 C語言中的 const 用于修飾只讀變量,表示變量本身不能修改。 這個關鍵字會在編譯的第二步起作用,也就是編譯。強行修改一個只讀變量,編譯就會提示問題。 第
    的頭像 發表于 11-24 10:31 ?532次閱讀

    Python常用函數大全

    Python 世界里,有一些寶藏函數和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發生活瞬間輕松不少!
    的頭像 發表于 10-27 17:20 ?818次閱讀

    C語言關鍵字--typedef

    C語言關鍵字使用方法學習指南!
    的頭像 發表于 10-07 12:44 ?560次閱讀

    基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

    console.log(typeof data); // number 3.2.2、number TypeScript 提供了 number 關鍵字表示數字類型,它是雙精度 64 位浮點值,既可以表示整數
    發表于 09-14 12:47

    使用邊緣AI和Sitara處理器進行關鍵字檢測

    電子發燒友網站提供《使用邊緣AI和Sitara處理器進行關鍵字檢測.pdf》資料免費下載
    發表于 09-02 11:30 ?0次下載
    使用邊緣AI和Sitara處理器進行<b class='flag-5'>關鍵字</b>檢測

    typedef struct和直接struct的區別

    在C語言中, typedef 和 struct 是兩種不同的關鍵字,它們在定義和使用上有著明顯的區別。 typedef struct 和直接 struct 在 C 語言中用于
    的頭像 發表于 08-20 10:58 ?3530次閱讀

    鴻蒙原生應用元服務開發-倉頡基本概念函數

    倉頡使用關鍵字func 表示函數定義的開始,func 之后依次是函數名、參數列表、可選的函數
    發表于 08-14 16:23

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而
    的頭像 發表于 08-01 15:27 ?3112次閱讀

    Python語言基礎2

    電子發燒友網站提供《Python語言基礎2.rar》資料免費下載
    發表于 07-17 17:23 ?1次下載

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

    在人工智能(AI)領域,Python因其簡潔的語法、豐富的庫和強大的社區支持,成為了最受歡迎的編程語言之一。本文將詳細介紹Python中的人工智能框架,并通過具體實例展示如何使用這些框架
    的頭像 發表于 07-15 14:54 ?2475次閱讀

    快速掌握C語言關鍵字

    C語言中的32個關鍵字你知道多少個呢?根據關鍵字的作用分為四類:數據類型關鍵字、控制語句關鍵字、存儲類型
    的頭像 發表于 07-06 08:04 ?694次閱讀
    快速掌握C<b class='flag-5'>語言</b><b class='flag-5'>關鍵字</b>

    使用Python進行自然語言處理

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

    inline關鍵字被優化導致此類函數被布局在flash內,怎么處理?

    問題解決。 但是,希望樂鑫官方把idf內源碼中的inline關鍵詞都替換為__attribute((always_inline)),因為inline關鍵字不可靠! 期待下次idf版本更新能解決此bug,自己修改idf源碼真的是權宜之計、臨時之策。
    發表于 06-21 12:03
    主站蜘蛛池模板: 欧美经典三级春潮烂漫海棠红 | 思思久99久女女精品 | 国产成人精品曰本亚洲78 | 草草影院www色极品欧美 | 女人成午夜大片7777在线 | 亚洲国产欧美精品一区二区三区 | 五月停停 | 天天干狠狠| 中国xxxxx高清免费看视频 | 精品国产第一页 | 国产精品福利午夜在线观看 | 免费一级片在线观看 | 日韩二级| 欧美成人午夜影院 | 天天视频国产免费入口 | 天天干天天谢 | 天天做天天爱天天综合网 | 国产精品偷伦费观看 | 一区二区不卡视频在线观看 | 婷婷色人阁 | 欧美精品aaa久久久影院 | 综合爱 | 国产精品资源 | 轻点灬大ji巴太粗太长了h | 欧美极品另类 | 国产视频国产 | 韩国朴银狐诱感在线观看 | 亚洲三级网址 | 182tv免费视视频线路一二三 | 97色在线视频观看香蕉 | 成年大片免费视频播放手机不卡 | 亚洲精品亚洲人成人网 | 欧美一级特黄乱妇高清视频 | 天天爽夜夜爽视频 | 亚洲电影在线 | 国内精品一区二区在线观看 | 情趣店上班h系列小说 | 午夜在线播放视频 | 天天操夜夜拍 | 亚洲一区二区三区高清 | 伊人久久成人 |