python生成器函數(shù)的特點(diǎn)
(推薦操作系統(tǒng):windows7系統(tǒng)、Python3.9.1、DELLG3電腦。)
1、特點(diǎn)
生成器函數(shù)執(zhí)行時(shí)不執(zhí)行函數(shù)體
next生成器時(shí),從現(xiàn)在的代碼到之后的第一個(gè)yield彈出值,暫停函數(shù)
再次使用next生成器時(shí),從上次暫停處向下執(zhí)行
如果沒(méi)有多余的yield,StopIteration就會(huì)出現(xiàn)異常,異常的Value是函數(shù)的返回值。
2、實(shí)例
生成器是惰性求值的。比如我們可以定義一個(gè)計(jì)數(shù)器:
defmake_inc():
defcounter():
x=0
whileTrue:
x+=1
yieldx
c=counter()
returnlambda:next(c)
>>>incr=make_inc()
>>>incr()
Out[9]:1
>>>incr()
Out[10]:2
以上就是python生成器函數(shù)的特點(diǎn),希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。