解读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()相同,但你可以先获取其他帧……

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

解读Python中的frame是什么

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

解读Python中的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
  • asp之家 网络编程 m.aspxhome.com