zhaoyang19930713 2023-01-08 11:25 采纳率: 28.6%
浏览 17
已结题

请教各位一个问题,关于生成器的。(语言-python)

请问下图中,shengchengqi()和a难道不应该是等价的吗?为什么使用第15行报错,而使用第16行不报错呢?

img

  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-01-08 11:53
    关注
    
    def shengchenggi():
        print("a")
        res = yield 1
        print(res)
        print("b")
        yield 2
        print("c")
        yield 3
        print("d")
        yield 4
        print("e")
    
    # 调用一次生成器函数,创建一个生成器对象
    a = shengchenggi()
    
    # 使用 next() 函数调用生成器函数
    print(next(a))
    
    # 使用 send() 方法调用生成器函数
    print(a.send(666))
    

    这样就可以在使用第 15 行的调用方式时不报错了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 已采纳回答 1月31日
  • 创建了问题 1月8日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程