创建协程的方法python
时间: 2023-12-31 11:05:28 浏览: 32
创建协程有多种方法,其中最常用的方法是使用async/await语法。 在Python中,async/await语法是定义异步协程的基础。 以下是一个简单的示例:
```python
import asyncio
async def my_coroutine():
print("Hello, coroutine!")
loop = asyncio.get_event_loop()
loop.run_until_complete(my_coroutine())
```
这里,我们使用async/await语法定义了一个名为“my_coroutine”的协程。 要运行此协程,我们需要获取一个事件循环并将其传递给run_until_complete方法。 在这里,我们使用asyncio模块提供的默认事件循环。
还有另外一种方法可以创建协程,即使用生成器函数和yield关键字。 这种方法已经过时,但仍然可以使用。 以下是一个示例:
```python
def my_coroutine():
yield
print("Hello, coroutine!")
coro = my_coroutine()
next(coro)
coro.send(None)
```
在这里,我们定义了一个名为“my_coroutine”的生成器函数,该函数使用yield关键字来挂起执行并在稍后恢复。 然后,我们创建该生成器的实例,并使用next方法推进生成器的第一个yield语句。 最后,我们使用send方法向生成器发送None值,以便恢复执行并打印“Hello, coroutine!”消息。 请注意,这种方法需要我们手动控制协程的推进和恢复。