相关疑难解决方法(0)

Python的生成器和迭代器之间的区别

迭代器和生成器之间有什么区别?关于何时使用每种情况的一些示例会很有帮助.

python iterator generator

482
推荐指数
13
解决办法
13万
查看次数

python生成器"发送"功能的目的?

有人能举例说明为什么与Python生成器函数相关的"发送"功能存在吗?我完全理解屈服函数.但是,发送功能让我很困惑.有关此方法的文档很复杂:

generator.send(value)
Run Code Online (Sandbox Code Playgroud)

恢复执行并将值"发送"到生成器函数中.value参数成为当前yield表达式的结果.send()方法返回生成器产生的下一个值,如果生成器退出而不产生另一个值,则引发StopIteration.

那是什么意思?我认为价值是功能的输入?短语"send()方法返回生成器产生的下一个值"似乎也是yield函数的确切目的; yield返回生成器产生的下一个值...

有人能给我一个利用发送器生成器的例子吗?

python

129
推荐指数
9
解决办法
6万
查看次数

在Python 3.3中将生成器与yield一起返回

在Python 2中,当函数定义中的return与yield一起时,出现了错误.但对于Python 3.3中的这段代码

def f():
  return 3
  yield 2

x = f()
print(x.__next__())
Run Code Online (Sandbox Code Playgroud)

没有错误,返回用于带有yield的函数.但是,当__next__调用该函数时,会抛出异常StopIteration.为什么不只是返回价值3?这种回报是否被忽略了?

python generator python-3.x

48
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×3

generator ×2

iterator ×1

python-3.x ×1