解读Python中的frame是什么
作者:程序之巅 时间:2023-09-26 08:25:50
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
来源:https://blog.csdn.net/zhuguiqin1/article/details/79290244
标签:Python,frame
0
投稿
猜你喜欢
Python使用爬虫猜密码
2023-03-21 12:38:39
Firefox Bug: inline/inline-block的间隙
2009-11-03 13:20:00
浅析Banner构成与创意设计
2009-11-28 16:25:00
Django如何实现内容缓存示例详解
2022-02-23 15:33:01
简述 Python 的类和对象
2023-05-17 12:44:23
Python 不设计 do-while 循环结构的理由
2021-08-04 11:55:19
Mysql带And关键字的多条件查询语句
2024-01-14 08:41:17
python学习实操案例(二)
2022-09-04 01:36:41
浅谈Keras参数 input_shape、input_dim和input_length用法
2021-02-19 13:24:40
MySQL复制表结构和内容到另一张表中的SQL语句
2024-01-20 17:20:59
python使用多线程查询数据库的实现示例
2024-01-21 18:34:59
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2024-04-27 15:24:18
python opencv检测目标颜色的实例讲解
2021-09-02 01:05:33
windows server 2003+IIS6 出现 'ASP 不正常,因为执行请求
2010-05-07 11:02:00
Python定时任务APScheduler的实例实例详解
2023-03-18 01:33:05
使用python模拟高斯分布例子
2021-04-27 05:22:22
PHP中number_format()函数的用法讲解
2023-06-02 15:48:12
MySQL权限分配
2011-01-29 16:37:00
MySql数据库基本命令集会
2011-08-05 18:43:23
ACCESS 2007出现“错误 '80040e14'“
2008-06-19 13:21:00