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