gpt4 book ai didi

python - 屈服然后返回还是直接返回?

转载 作者:行者123 更新时间:2023-12-01 01:01:50 25 4
gpt4 key购买 nike

我有一个生成器,并且不想产生任何结果,之后我希望生成器的迭代停止,即 StopIteration但我不确定用什么方法来完成这个任务。

我想到以下选项:

yield None
return

return

在我的发电机中。它们相等吗?或者我应该使用哪一个?

最佳答案

Are they equivalent?

没有。第二个甚至不是生成器(没有yield 表达式)

Which one should I use?

第一个还好。 return 语句以及显式生成的值 None 是多余的,可以删除(但它们也不会造成任何损害)。

def myfunc():
print("doing stuff before yielding the first (and only) value")
yield
print("doing more stuff before raising StopIteration")

如果您使用显式 return 语句,则返回的值将出现在 StopIteration 异常实例上(实际上是一个 value 属性)。

从语法上讲,您可以将代码放在return语句之后,但它将无法访问。因此,没有必要这样做。

关于python - 屈服然后返回还是直接返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55736981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com