Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 关闭发电机后,如何获取发电机的返回值?_Python 3.x - Fatal编程技术网

Python 3.x 关闭发电机后,如何获取发电机的返回值?

Python 3.x 关闭发电机后,如何获取发电机的返回值?,python-3.x,Python 3.x,我想在关闭生成器后获得返回值。这是不允许的 def generator_alpha(): try: yield "z" except GeneratorExit: pass return "t" if __name__ == "__main___": myAlphas = generator_alpha() next(myAlphas) myAlphas.close() #now what should i

我想在关闭生成器后获得返回值。这是不允许的

def generator_alpha():
    try:
        yield "z"
    except GeneratorExit:
        pass
    return "t"

if __name__ == "__main___":
    myAlphas = generator_alpha()
    next(myAlphas)
    myAlphas.close()
    #now what should i do let me get 't'?

非常抱歉!我先问了一个问题,我的英语很差。我不知道如何使代码变得漂亮。我的代码缩进在哪里?当你回答这个问题时,你选择应该在代码块中的文本,然后使用Ctrl-K或单击编辑器中的
{}
按钮,它将把它放在代码块中。从文档中:“捕获
GeneratorExit
异常并返回值是非法的,将触发
运行时错误
”. 您试图执行的操作被明确禁止,尽管我不知道其背后的原因-似乎可以很容易地将其作为
.close()
的返回值。(我想有一个反对意见是,您无法区分实际返回的
None
,以及由于
GeneratorExit
)而退出的常见情况,为什么要在这个生成器中捕获生成器异常?@JonClements非常感谢。我明白了:)