您好,登錄后才能下訂單哦!
這篇文章主要介紹python中call方法怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
call_soon
可以通過字面意思理解調用立即返回。
loop.call_soon(callback, *args, context=None)
下面來看一下具體的使用例子。
import asyncio import functools def callback(args, *, kwargs="defalut"): print(f"普通函數做為回調函數,獲取參數:{args},{kwargs}") async def main(loop): print("注冊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()
輸出結果
注冊callback 普通函數做為回調函數,獲取參數:1,defalut 普通函數做為回調函數,獲取參數:2,not defalut
call_later
loop.call_later(delay, callback, *args, context=None)
配合上面的call_soon讓我們看一個小例子
import asyncio def callback(n): print(f"callback {n} invoked") async def main(loop): print("注冊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()
輸出
注冊callbacks callback 3 invoked callback 2 invoked callback 1 invoked
通過上面的輸出可以得到如下結果:
1.call_soon會在call_later之前執行,和它的位置在哪無關
2.call_later的第一個參數越小,越先執行。
以上是python中call方法怎么用的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。