av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:python生成器調用方法引發(fā)異常

(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1、DELL G3電腦。)

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比古縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式古縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋古縣地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

注意,在生成器已經(jīng)執(zhí)行時調用下面的任何生成器方法會引發(fā) ValueError 異常。

1、__next__

開始執(zhí)行一個生成器或者從上一次 yield 語句后繼續(xù)執(zhí)行。當使用該方法繼續(xù)(注意是繼續(xù)而不是第一次執(zhí)行)時,那么當前 yield 的返回值為 None,直到執(zhí)行到下一次的 yield 語句時,yield 語句后的表達式的結果才會返回給調用者。當?shù)鹘Y束時會拋出 StopIteration 異常。

該方法會被 for 以及內(nèi)置函數(shù) next 隱式的調用。

2、send

繼續(xù)執(zhí)行生成器(注意是繼續(xù)而不是第一次執(zhí)行),并發(fā)送一個值到生成器函數(shù)。send 方法的參數(shù)是下一個 yield 語句的返回值,前提是 yield 語句中要事先接收它傳遞的參數(shù)。如果使用該方法啟動(也就是第一次執(zhí)行)生成器,必須使用 None 作為其參數(shù),因為此時還沒有 yield 能夠接收它的值(畢竟接收該值的語句還沒有開始執(zhí)行)。

def fn():
    a = 0
    while True:
        a += 1
        r = yield # r 就是接收 send 參數(shù)的變量
        print('{} => {}'.format(a, r))
 
>>> f = fn()
>>> f.send('a') # 不傳遞 None 的后果
Traceback (most recent call last):
  File "/opt/python3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2910, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "", line 1, in 
    f.send('a')
TypeError: can't send non-None value to a just-started generator
>>> next(f) # 也可以不傳遞 None 而是使用 next 執(zhí)行,兩種方式都可以
>>> f.send('a')
1 => a
>>> f.send('b')
2 => b

以上就是python生成器調用方法引發(fā)異常,希望能對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程


本文名稱:創(chuàng)新互聯(lián)Python教程:python生成器調用方法引發(fā)異常
新聞來源:http://uogjgqi.cn/article/dpsdcch.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流