コルーチン

コルーチン関数

async def で定義された関数

コルーチンオブジェクト

コルーチン関数 を呼び出すと返ってくるオブジェクト.

コルーチン関数定義

  • async def で関数を定義すると、コルーチンとなる

>>> async def func():
...     print("呼んだ?")
...
>>> cor = func()
>>> print(type(cor))
<class 'coroutine'>
  • 単にコルーチンを呼び出しただけでは実行されない

>>> func()
<coroutine object func at 0x7f774767d6c0>

コルーチンの実行

  • コルーチンを await

  • awaitした関数( main )を asyncio.run 関数から実行

>>> import asyncio
>>>
>>> async def main():
...     await func()
...
>>> asyncio.run(main())
呼んだ?

練習問題

コルーチンを2つ実行してください。コルーチンの関数は渡された引数をprintします。

>>> asyncio.run(main("1こめ", "2こめ"))
1こめ
2こめ