Python 堆栈帧和执行帧之间的区别是什么?

Python 堆栈帧和执行帧之间的区别是什么?,python,traceback,inspect,stack-frame,Python,Traceback,Inspect,Stack Frame,我很难理解堆栈帧和执行帧之间的区别,主要是关于traceback和inspect模块(在Python 3中) 我认为它们是相同的,但文档暗示它们不是inspect模块返回帧对象的方法,而traceback模块的方法不是(即inspect.stack()vstraceback.print\u stack()) 通过谷歌搜索,我了解到堆栈帧是包含子例程状态信息(函数调用和参数数据)的数据结构。然而,根据文档,执行帧是类似的: 执行框架包含一些管理信息(用于调试),确定代码块执行完成后在何处以及如何继

我很难理解堆栈帧和执行帧之间的区别,主要是关于
traceback
inspect
模块(在Python 3中)

我认为它们是相同的,但文档暗示它们不是
inspect
模块返回帧对象的方法,而
traceback
模块的方法不是(即
inspect.stack()
vs
traceback.print\u stack()

通过谷歌搜索,我了解到堆栈帧是包含子例程状态信息(函数调用和参数数据)的数据结构。然而,根据文档,执行帧是类似的:

执行框架包含一些管理信息(用于调试),确定代码块执行完成后在何处以及如何继续执行,并且(可能最重要的是)定义两个影响代码块执行的名称空间,即本地名称空间和全局名称空间

那么堆栈帧和执行帧之间到底有什么区别呢