韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > python生成器调用方法引发异常

python生成器调用方法引发异常

头像

小妮浅浅

2021-05-10 09:47:464061浏览 · 0收藏 · 0评论

(推荐操作系统:windows7系统、Python 3.9.1、DELL G3电脑。)

注意,在生成器已经执行时调用下面的任何生成器方法会引发 ValueError 异常。

1、__next__

开始执行一个生成器或者从上一次 yield 语句后继续执行。当使用该方法继续(注意是继续而不是第一次执行)时,那么当前 yield 的返回值为 None,直到执行到下一次的 yield 语句时,yield 语句后的表达式的结果才会返回给调用者。当迭代器结束时会抛出 StopIteration 异常。

该方法会被 for 以及内置函数 next 隐式的调用。

2、send

继续执行生成器(注意是继续而不是第一次执行),并发送一个值到生成器函数。send 方法的参数是下一个 yield 语句的返回值,前提是 yield 语句中要事先接收它传递的参数。如果使用该方法启动(也就是第一次执行)生成器,必须使用 None 作为其参数,因为此时还没有 yield 能够接收它的值(毕竟接收该值的语句还没有开始执行)。

def fn():
    a = 0
    while True:
        a += 1
        r = yield # r 就是接收 send 参数的变量
        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 "<ipython-input-31-6f758a7cad28>", line 1, in <module>
    f.send('a')
TypeError: can't send non-None value to a just-started generator
>>> next(f) # 也可以不传递 None 而是使用 next 执行,两种方式都可以
>>> f.send('a')
1 => a
>>> f.send('b')
2 => b

以上就是python生成器调用方法引发异常,希望能对大家有所帮助。更多Python学习指路:python基础教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

超星阅读平台登录入口| 王叔我老公还在客厅呢什么小说| 鲁鲁射击免费播放电视剧全部| 善良的公与媳HD中字| 狗配人的大片视频大全| 国外不堪入目的演唱会| 理伦片丰满妓女院| 万能浏览器| 校花被群JAN又粗又大H漫画| 《性爽2》电影| 两男吮她的花蒂和奶水视频| 成人做爰100部片| 情满九道弯电视剧40集免费观看| 麻花传MV在线观看的最新进展| 蜜桃视频| 老公在洗澡我被公干日本| 《请好好疼爱里面》免费观看| 美国式禁忌5老熟女| 《囚禁空姐》电影免费观看| 十一天十一夜| 狗锁住女人狗的视频大全图片| 水手服| 120分钟做爰A片免费| 女生全身照真实不像网图图片| 图书馆挺进她腿间湿润漫画| 伦理《少妇的滋味》完整版| 《温柔的大姐姐》动漫免费观看| 2025国产拍视频最好的手机| 韩国电影表妹2现在改名| 蜜桃成熟时2| 《军妓肉体》在线观看| 《温柔的大姐姐》动漫免费观看| 麻豆国产AV无码免费视频| 《一滴都不许漏》何泽城林荫| 《高压监狱3》法国版正版 | 小雪被老汉各种姿势玩弄视频| 动物扌桑辶鬲的| 美足网| 水是什么意思?| 吃瓜群众在线爆料免费观看| 公与媳2电视剧免费