# 這是學習廖雪峯老師python教程的學習筆記
1、概覽
用asyncio提供的@asyncio.coroutine可以把一個generator標記爲coroutine類型,然後在coroutine內部用yield from調用另一個coroutine實現異步操作。
爲了簡化並更好地標識異步IO,從Python 3.5開始引入了新的語法async和await,可以讓coroutine的代碼更簡潔易讀。
async和await是針對coroutine的新語法,要使用新的語法,只需要做兩步簡單的替換:
把@asyncio.coroutine替換爲async;
把yield from替換爲await。
2、比較代碼
1、上一節代碼
@asyncio.coroutine
def hello():
print("Hello world!")
r = yield from asyncio.sleep(1)
print("Hello again!")
2、新語法代碼
async def hello():
print("Hello world!")
r = await asyncio.sleep(1)
print("Hello again!")