解读Python中的frame是什么

 更新时间:2022年11月09日 10:52:29   作者:程序之巅  
这篇文章主要介绍了解读Python中的frame是什么,关于frame使用讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Python中的frame是什么

栈帧(frame)

栈帧表示程序运行时函数调用栈中的某一帧。想要获得某个函数相关的栈帧,则必须在调用这个函数且这个函数尚未返回时获取。

可以使用sys模块的_getframe()函数、或inspect模块的currentframe()函数获取当前栈帧。

这里列出来的属性全部是只读的。

  • f_back: 调用栈的前一帧。
  • f_code: 栈帧对应的code对象。
  • f_locals: 用在当前栈帧时与内建函数locals()相同,但你可以先获取其他帧然后使用这个属性获取那个帧的locals()。
  • f_globals: 用在当前栈帧时与内建函数globals()相同,但你可以先获取其他帧……

示例: 假设在下面代码的第四行打断点

函数被断点停止住时刻的frame信息如下

Python的frame对象

Frame对象表示执行帧。它们可能出现在traceback对象中。

参考链接:

https://docs.python.org/2/reference/datamodel.html#objects-values-and-types

Frame对象可以用来获取Python运行过程中的函数调用堆栈,或者函数内部的各类信息

特殊的只读属性

属性说明
f_back前一个堆栈帧(朝向调用者),如果这是底部堆栈帧则为None
f_code在这个框架中执行的Code对象
f_locals用于查找局部变量的字典
f_globals用于全局变量
f_builtins用于内置名称
f_restricted表示该函数是否在限制执行模式下执行的标志
f_lasti给出精确的指令(这是代码对象的字节码字符串的索引)

特殊可写属性

f_trace、 f_exc_type、f_exc_value、f_exc_traceback、f_lineno

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PyQt5重写QComboBox的鼠标点击事件方法

    PyQt5重写QComboBox的鼠标点击事件方法

    今天小编就为大家分享一篇PyQt5重写QComboBox的鼠标点击事件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • tensorflow建立一个简单的神经网络的方法

    tensorflow建立一个简单的神经网络的方法

    本篇文章主要介绍了tensorflow建立一个简单的神经网络的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • python实现xlwt xlrd 指定条件给excel行添加颜色

    python实现xlwt xlrd 指定条件给excel行添加颜色

    这篇文章主要介绍了python实现xlwt xlrd 指定条件给excel行添加颜色,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python实时获取cmd的输出

    Python实时获取cmd的输出

    本文给大家分享python实时获取cmd的输出,对python实时获取输出相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • python django 访问静态文件出现404或500错误

    python django 访问静态文件出现404或500错误

    这篇文章主要介绍了python django 访问静态文件出现404或500错误的相关资料,需要的朋友可以参考下
    2017-01-01
  • Python实现自定义读写分离代码实例

    Python实现自定义读写分离代码实例

    这篇文章主要介绍了Python实现自定义读写分离代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 日常整理python执行系统命令的常见方法(全)

    日常整理python执行系统命令的常见方法(全)

    本文是小编日常整理的些关于python执行系统命令常见的方法,比较全面,特此通过脚本之家这个平台把此篇文章分享给大家供大家参考
    2015-10-10
  • 如何使用 Python为你的在线会议创建一个假的摄像头

    如何使用 Python为你的在线会议创建一个假的摄像头

    这篇文章主要介绍了使用 Python为你的在线会议创建一个假的摄像头,在 Python 的帮助下,不再强制开启摄像头,将向你展示如何为你的在线会议创建一个假的摄像头,需要的朋友可以参考下
    2022-08-08
  • 在Python下进行UDP网络编程的教程

    在Python下进行UDP网络编程的教程

    这篇文章主要介绍了在Python下进行UDP网络编程的教程,UDP编程是Python网络编程部分的基础知识,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • 如何利用python处理原始音频数据

    如何利用python处理原始音频数据

    这篇文章主要介绍了如何利用python处理原始音频数据,文章以audioop的相关资料展开内容,audioop是python标准库中用于处理原始音频数据的模块,封装了一些便捷的编码转换函数。下文详细内容,需要的朋友可以参考以下
    2022-01-01

最新评论