Junior — Middle
How to distinguish a coroutine from a regular function in programming?
sobes.tech AI
Answer from AI
A coroutine in programming can be distinguished from a regular function by several features:
- Suspension and resumption: a coroutine can suspend its execution (for example, using
yieldorawait) and resume later, whereas a regular function runs from start to finish without pauses. - State: a coroutine maintains its state between calls, unlike a regular function.
- Syntax: in Python, coroutines are usually defined with
async defand useawaitinside, or as generators withyield.
Example of a coroutine in Python:
import asyncio
async def my_coroutine():
print('Start')
await asyncio.sleep(1) # suspends execution
print('End')
A regular function cannot use await and does not suspend execution.