python3 非同步模組asyncio

2022-01-18 01:50:28 字數 1358 閱讀 2762

yield方法引入,

這裡存在的問題是,如果你想建立從0到1,000,000這樣乙個很大的序列,你不得不建立能容納1,000,000個整數的列表。

但是當加入了生成器之後,你可以不用建立完整的序列,你只需要能夠每次儲存乙個整數的記憶體即可。

import asyncio

@asyncio.coroutine

def countdown(number, n):

while n > 0

:

yield

from asyncio.sleep(1

) print(

"t-minus

", n, "

({})

".format(number))

n -= 1

if n == 10 and number=="a"

: raise valueerror

loop =asyncio.get_event_loop()

tasks =[

asyncio.ensure_future(countdown("a

", 20

)), asyncio.ensure_future(countdown("b

", 33

)),]

loop.run_until_complete(asyncio.wait(tasks))

loop.close()

看**

import asyncio

@asyncio.coroutine

def countdown(number, n):

while n > 0

:

yield

from asyncio.sleep(1

) print(

"t-minus

", n, "

({})

".format(number))

n -= 1

if n == 10 and number=="a"

: raise valueerror

loop =asyncio.get_event_loop()

tasks =[

asyncio.ensure_future(countdown("a

", 20

)), asyncio.ensure_future(countdown("b

", 33

)),]

loop.run_until_complete(asyncio.wait(tasks))

loop.close()

原理講的特別好

python3使用 python3使用模組

python內建了很多非常有用的模組,只要安裝完畢,這些模組就可以立刻使用。我們以內建的sys模組為例,編寫乙個hello的模組 usr bin env python3 coding utf 8 a test module author michael liao import sys def tes...

Python3 使用模組

python本身就內建了很多非常有用的模組,只要安裝完畢,這些模組就可以立刻使用。我們以內建的sys模組為例,編寫乙個hello的模組 usr bin env python3 coding utf 8 a test module author michael liao import sys def ...

python3 非同步 async with 用法

非同步上下文管理器指的是在enter和exit方法處能夠暫停執行的上下文管理器。為了實現這樣的功能,需要加入兩個新的方法 aenter 和 aexit 這兩個方法都要返回乙個 awaitable型別的值。非同步上下文管理器的一種使用方法是 class asynccontextmanager asyn...