coroutine
In Python, a coroutine is an object representing a computation that can be paused and resumed. Coroutines can be entered, exited, and resumed at many different points. It’s the object you get when you call a coroutine function.
To execute the code in a coroutine, you need to await it or run it in an event loop.
Example
Here’s an example of a coroutine:
>>> import asyncio
>>> async def greet(name):
...     print(f"Hello, {name}!")
...     await asyncio.sleep(1)
...     print(f"How are you?")
...
>>> async def main():
...     coroutine = greet("Pythonista")
...     result = await coroutine
...
>>> asyncio.run(main())
Hello, Pythonista!
How are you?
In this example, greet() is a coroutine function that uses asyncio.sleep() to simulate a non-blocking task. The main() function calls greet() to create a coroutine object that you can await.
Related Resources
Tutorial
Getting Started With Async Features in Python
This step-by-step tutorial gives you the tools you need to start making asynchronous programming techniques a part of your repertoire. You'll learn how to use Python async features to take advantage of IO processes and free up your CPU.
For additional information on related topics, take a look at the following resources: