问题标签 [yield-from]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2870 浏览

python - `return iterator` 和 `yield from iterator` 之间的区别

我正在尝试实现我自己的版本itertools.compress,问题是我偶然发现了返回类型。我的意思是这两个函数都返回一个迭代器,但我认为第二个函数不被视为生成器函数,因为内部没有 yield 语句。所以我的问题是,这两种实现是否等效?

0 投票
2 回答
2717 浏览

python - 从流中产生的正确方法是什么?

我有一个Connection用于包含读取和写入asyncio连接流的对象:

在服务器端,每次客户端连接时connected创建一个对象,然后读取 4 个字节。Connection

在客户端,写出 4 个字节。

这几乎可以按预期工作,但我必须yield from每次都read打电话write。我试过yield from从里面 ing Connection

但我没有得到数据,而是得到一个输出

如果我从多个地方打电话readwrite我不想yield from每次都重复 s;而是将它们留在里面Connection。我的最终目标是将我的功能缩减new_conection为:

0 投票
2 回答
938 浏览

python - Python 2 中的“yield from”替代品

我的代码在递归调用中使用yield frompython3工作得非常好。现在的问题是这是PEP-380引入的,我需要它在. 我阅读了几篇文章,但没有一篇足够详细或足够简单。 python 3.3python 2.7

几篇参考文章:

和其他几个。

我重新创建了一个小的示例代码(它接受一个多级列表并返回一个扁平列表) ,与我的要求相比,它非常简约。

#驱动程序值:

python 2.7由于yield from. _

0 投票
1 回答
316 浏览

python - 在 Python 中,从 DatagramProtocol.datagram_received 中的锁中产生使函数永远不会被调用

我想在协程之间同步数据,最终得到一个方法,只要其中有“yield”就不会被调用。

更准确地说,当我按照文档(受此启发)使用方法 datagram_received 实现 DatagramProtocol 类时,一切正常,我收到了数据。一旦我在方法 datagram_received 中添加“yield”,该方法就不再被调用。这是一个例子:

根据方法的内容,如何突然不调用方法?

我错过了什么?应该如何进行同步?

0 投票
0 回答
247 浏览

python - 闯入os.walk()的迭代过程

我的目标是将所有文件和目录存储在结构化数据树中,其中每个:

  • 目录是一个节点
  • 文件是一片叶子

我下面的代码工作正常。但是,我一次只采取一个步骤并中断/重新启动每个目录的遍历过程。(见step_in()方法)

显然,有可能并被认为是“高级”的,可以进入迭代过程本身并使用它。因此我的问题是,是否有可能“闯入” os.walk 进程并产生必要的东西?

0 投票
4 回答
1718 浏览

python-3.x - 在 Python 中使用生成器进行广度优先树遍历

我正在研究如何在 David Beazly 的优秀 Python Cookbook 文本中使用 Python 中的生成器。以下代码配方非常优雅地使用生成器定义了深度优先树遍历:

我试图想出一个同样优雅的方法

我故意不发布我一直在尝试的疯狂内容,因为我尝试过的所有内容都需要在其中保持“状态”。我不想使用传统的基于队列的解决方案。这个学术练习的重点是深入了解生成器的行为方式。因此,我想为上面的树使用生成器创建一个并行的“breadth_first”方法。

欢迎任何指针/解决方案。

0 投票
0 回答
642 浏览

python - `yield` 在烧瓶中的整个解析过程中

首先,我使用烧瓶。

其次,我yield喜欢下面的代码。

所以在__init__ inCheckFile之后is completed, I返回values withyield` 到响应。

我想做的是能够yield在.__init__file.parse()

0 投票
1 回答
1169 浏览

python - 'yield from' 异步函数 Python 3.6.5 aiohttp

SyntaxError: 'yield from' 在异步函数中

之前用过python3.5,发现pep525,安装python3.6.5还是报这个错。

0 投票
1 回答
171 浏览

python - 不确定为什么 StopIteration 不由“yield from”处理

查看“Fluent Python”书中解释“双向隧道”功能的以下示例代码yield from,我有以下问题。

为什么将StopIteration上面的委托生成器替换为以下委托生成器时会出现异常?

从我目前所了解到的情况来看,理论上删除while True应该没问题。group.send(None)将导致averager()协程break返回并Result(...)传递给委托生成器。然后委托生成器将通过将其分配Result(...)results[key].

但是发生的事情如下。

有什么见解吗?

0 投票
1 回答
110 浏览

python - 如何将 iter() 应用于分页 api?

我观看了 Raymond Hettinger 的Idiomatic Python演讲,并了解了. 我想尝试将它应用于我正在迭代使用分页的 API 的一段代码(它是 Twilio,但与我的问题无关)。iter()

我有一个返回的 API:数据列表和下一页 URL。当分页用尽时,下一页 URL 作为空字符串返回。我将获取函数编写为生成器,大致如下所示:

此代码工作正常,但我想尝试删除while循环并将其替换为iter()使用该next_page_uri值作为哨兵参数的调用。或者,这可以用yield from?