這篇文章主要介紹python中call方法怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專業(yè)提供喀喇沁企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為喀喇沁眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
call_soon
可以通過字面意思理解調(diào)用立即返回。
loop.call_soon(callback, *args, context=None)
下面來看一下具體的使用例子。
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
通過上面的輸出可以得到如下結(jié)果:
1.call_soon會(huì)在call_later之前執(zhí)行,和它的位置在哪無關(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è)資訊頻道!