华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

解析python生成器函數(shù)的調(diào)用

來源:中華考試網(wǎng)  [2020年11月18日]  【

  生成器可以是在工作完成后自動繼續(xù)工作嗎?這是大家給小編出的問題,關(guān)于生成器,其實它在工作完以后,只能去重新創(chuàng)建一個生成器對象,這樣才能保證工作的正常運(yùn)轉(zhuǎn),口說無憑,我給大家走一遍流程,大家可以仔細(xì)觀察就理解明白了。

  觀察生成器函數(shù)執(zhí)行過程:

  import random

  def genRandom():

  #yield關(guān)鍵字

  r = random.randint(0,1000)

  print('befor yield')

  yield r

  print('after yield')

  genfunc = genRandom()

python課程免費(fèi)試聽預(yù)約

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  第一次調(diào)用:

  print(next(genfunc))

  結(jié)果:沒有執(zhí)行:print('after yield')

  befor yield

  726

  分析:調(diào)用yield之后,返回產(chǎn)生隨機(jī)數(shù):314,然后停止

  再次執(zhí)行:

  print(next(genfunc))

  結(jié)果:

  after yield

  StopIteration Traceback (most recent call last)

  從上述內(nèi)容我們可以看出,執(zhí)行yield下一條語句,并報異常,這是因為通過異常告知調(diào)用者,生成器執(zhí)行結(jié)束,那么如果想要再次執(zhí)行生成器,必須重新創(chuàng)建生成器對象。

責(zé)編:fushihao

上一篇:calendar可以在python3時間中生成日歷嗎?

下一篇: 沒有了

  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
石门县| 花垣县| 辽阳县| 德令哈市| 普兰店市| 大石桥市| 辽源市| 隆化县| 阿合奇县| 潮州市| 荥阳市| 隆尧县| 蒙阴县| 莲花县| 景泰县| 大新县| 丰顺县| 兴海县| 唐河县| 象州县| 哈巴河县| 白城市| 建始县| 柳州市| 汉寿县| 枣阳市| 五家渠市| 内丘县| 元江| 策勒县| 牟定县| 台东县| 常德市| 玉林市| 手机| 西华县| 忻州市| 邵阳县| 张家口市| 闵行区| 南安市|