python中call方法怎么用

這篇文章主要介紹python中call方法怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供喀喇沁企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為喀喇沁眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

call_soon

可以通過(guò)字面意思理解調(diào)用立即返回。

loop.call_soon(callback, *args, context=None)

下面來(lái)看一下具體的使用例子。

import asyncio
import functools
def callback(args, *, kwargs="defalut"):
 print(f"普通函數(shù)做為回調(diào)函數(shù),獲取參數(shù):{args},{kwargs}")
async def main(loop):
 print("注冊(cè)callback")
 loop.call_soon(callback, 1)
 wrapped = functools.partial(callback, kwargs="not defalut")
 loop.call_soon(wrapped, 2)
 await asyncio.sleep(0.2)
if __name__ == '__main__':
 loop = asyncio.get_event_loop()
try:
 loop.run_until_complete(main(loop))
finally:
 loop.close()

輸出結(jié)果

注冊(cè)callback
普通函數(shù)做為回調(diào)函數(shù),獲取參數(shù):1,defalut
普通函數(shù)做為回調(diào)函數(shù),獲取參數(shù):2,not defalut

call_later

loop.call_later(delay, callback, *args, context=None)

配合上面的call_soon讓我們看一個(gè)小例子

import asyncio
def callback(n):
 print(f"callback {n} invoked")
async def main(loop):
 print("注冊(cè)callbacks")
 loop.call_later(0.2, callback, 1)
 loop.call_later(0.1, callback, 2)
 loop.call_soon(callback, 3)
 await asyncio.sleep(0.4)
if __name__ == '__main__':
 loop = asyncio.get_event_loop()
 try:
 loop.run_until_complete(main(loop))
 finally:
 loop.close()

輸出

注冊(cè)callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked

通過(guò)上面的輸出可以得到如下結(jié)果:

1.call_soon會(huì)在call_later之前執(zhí)行,和它的位置在哪無(wú)關(guān)

2.call_later的第一個(gè)參數(shù)越小,越先執(zhí)行。

以上是python中call方法怎么用的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞標(biāo)題:python中call方法怎么用
標(biāo)題鏈接:http://bm7419.com/article34/pssdse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、Google網(wǎng)頁(yè)設(shè)計(jì)公司、云服務(wù)器、網(wǎng)站導(dǎo)航商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)