0%

python | 理解协程

理解协程是一件非常重要的事情。

协程函数

1
2
async def run():
pass

runasync 修饰的,所以 run 是一个协程函数。

协程对象

1
run()

执行协程函数,返回的就是一个协程对象。如果 run 是一个普通函数,那么,直接执行的话,就会运行 run 内部的逻辑。

但是,被 async 修饰的函数,如果执行的话,仅仅只是返回一个协程对象,并不会执行。

执行协程

python3.5 的写法

1
2
3
4
5
6
7
8
9
import asyncio


async def run():
print(1)


loop = asyncio.get_event_loop()
loop.run_until_complete(run())

想要执行协程,必须要借助事件循环。

python3.7 的写法

1
2
3
4
5
6
7
8
import asyncio


async def run():
print(1)


asyncio.run(run())
请我喝杯咖啡吧~