Python 官方文档:入门教程 => 点击学习
目录python中的frame是什么栈帧(frame)Python的frame对象特殊的只读属性特殊可写属性Python中的frame是什么 栈帧(frame) 栈帧表示程序运行时函
栈帧表示程序运行时函数调用栈中的某一帧。想要获得某个函数相关的栈帧,则必须在调用这个函数且这个函数尚未返回时获取。
可以使用sys模块的_getframe()函数、或inspect模块的currentframe()函数获取当前栈帧。
这里列出来的属性全部是只读的。
f_back
: 调用栈的前一帧。f_code
: 栈帧对应的code对象。f_locals
: 用在当前栈帧时与内建函数locals()相同,但你可以先获取其他帧然后使用这个属性获取那个帧的locals()。f_globals
: 用在当前栈帧时与内建函数globals()相同,但你可以先获取其他帧……示例: 假设在下面代码的第四行打断点
函数被断点停止住时刻的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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 解读Python中的frame是什么
本文链接: https://lsjlt.com/news/171091.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0