RESUME 操作码实际上有什么作用?

What does RESUME opcode actually do?

提问人:Amir reza Riahi 提问时间:11/18/2023 更新时间:11/18/2023 访问量:61

问:

文档的信息量不是很大(至少对我来说是这样):

opcode:: RESUME(上下文)

一个没有操作。执行内部跟踪、调试和优化 检查。

oparand 由两部分组成。最低两位 指示发生的位置:contextRESUME

  • 0函数的开始,它既不是生成器, 协程 也不是异步生成器

  • 1在表达式之后yield

  • 2在表达式之后yield from

  • 3在表达式之后await

下一位是 RESUME 是否处于 except-depth ,否则。110

例:

>>> import dis
>>> 
>>> def f(): ...
... 
>>> dis.dis(f)
  1           0 RESUME                   0
              2 LOAD_CONST               0 (None)
              4 RETURN_VALUE

有人可以解释一下这个操作码的真正作用吗?

cpython python-internals

评论

0赞 Amir reza Riahi 11/18/2023
@AdesojiAlu感谢您的回复,但我在链接中找不到与我的问题相关的任何有用内容。
0赞 Barmar 11/18/2023
你的问题很模糊。你到底需要知道什么?我们怎么知道什么对你“有用”?
0赞 Amir reza Riahi 11/18/2023
@Barmar我想知道解释器在到达操作码时会做什么。RESUME
0赞 Barmar 11/18/2023
它更新了一些内部簿记数据。

答: 暂无答案