问题标签 [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.
python - `return iterator` 和 `yield from iterator` 之间的区别
我正在尝试实现我自己的版本itertools.compress
,问题是我偶然发现了返回类型。我的意思是这两个函数都返回一个迭代器,但我认为第二个函数不被视为生成器函数,因为内部没有 yield 语句。所以我的问题是,这两种实现是否等效?
python - 从流中产生的正确方法是什么?
我有一个Connection
用于包含读取和写入asyncio
连接流的对象:
在服务器端,每次客户端连接时connected
创建一个对象,然后读取 4 个字节。Connection
在客户端,写出 4 个字节。
这几乎可以按预期工作,但我必须yield from
每次都read
打电话write
。我试过yield from
从里面 ing Connection
:
但我没有得到数据,而是得到一个输出
如果我从多个地方打电话read
,write
我不想yield from
每次都重复 s;而是将它们留在里面Connection
。我的最终目标是将我的功能缩减new_conection
为:
python - Python 2 中的“yield from”替代品
我的代码在递归调用中使用yield from
,它python3
工作得非常好。现在的问题是这是从PEP-380引入的,我需要它在. 我阅读了几篇文章,但没有一篇足够详细或足够简单。 python 3.3
python 2.7
几篇参考文章:
和其他几个。
我重新创建了一个小的示例代码(它接受一个多级列表并返回一个扁平列表) ,与我的要求相比,它非常简约。
#驱动程序值:
python 2.7
由于yield from
. _
python - 在 Python 中,从 DatagramProtocol.datagram_received 中的锁中产生使函数永远不会被调用
我想在协程之间同步数据,最终得到一个方法,只要其中有“yield”就不会被调用。
更准确地说,当我按照文档(受此启发)使用方法 datagram_received 实现 DatagramProtocol 类时,一切正常,我收到了数据。一旦我在方法 datagram_received 中添加“yield”,该方法就不再被调用。这是一个例子:
根据方法的内容,如何突然不调用方法?
我错过了什么?应该如何进行同步?
python - 闯入os.walk()的迭代过程
我的目标是将所有文件和目录存储在结构化数据树中,其中每个:
- 目录是一个节点
- 文件是一片叶子
我下面的代码工作正常。但是,我一次只采取一个步骤并中断/重新启动每个目录的遍历过程。(见step_in()
方法)
显然,有可能并被认为是“高级”的,可以进入迭代过程本身并使用它。因此我的问题是,是否有可能“闯入” os.walk 进程并产生必要的东西?
python-3.x - 在 Python 中使用生成器进行广度优先树遍历
我正在研究如何在 David Beazly 的优秀 Python Cookbook 文本中使用 Python 中的生成器。以下代码配方非常优雅地使用生成器定义了深度优先树遍历:
我试图想出一个同样优雅的方法
我故意不发布我一直在尝试的疯狂内容,因为我尝试过的所有内容都需要在其中保持“状态”。我不想使用传统的基于队列的解决方案。这个学术练习的重点是深入了解生成器的行为方式。因此,我想为上面的树使用生成器创建一个并行的“breadth_first”方法。
欢迎任何指针/解决方案。
python - `yield` 在烧瓶中的整个解析过程中
首先,我使用烧瓶。
其次,我yield
喜欢下面的代码。
所以在__init__ in
CheckFile之后is completed, I
返回values with
yield` 到响应。
我想做的是能够yield
在.__init__
file.parse()
python - 'yield from' 异步函数 Python 3.6.5 aiohttp
SyntaxError: 'yield from' 在异步函数中
之前用过python3.5,发现pep525,安装python3.6.5还是报这个错。
python - 不确定为什么 StopIteration 不由“yield from”处理
查看“Fluent Python”书中解释“双向隧道”功能的以下示例代码yield from
,我有以下问题。
为什么将StopIteration
上面的委托生成器替换为以下委托生成器时会出现异常?
从我目前所了解到的情况来看,理论上删除while True
应该没问题。group.send(None)
将导致averager()
协程break
返回并Result(...)
传递给委托生成器。然后委托生成器将通过将其分配Result(...)
给results[key]
.
但是发生的事情如下。
有什么见解吗?