解读Python中的frame是什么
作者:程序之巅 发布时间:2023-09-26 08:25:50
标签:Python,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
来源:https://blog.csdn.net/zhuguiqin1/article/details/79290244
0
投稿
猜你喜欢
- 本文实例讲述了python中split方法用法。分享给大家供大家参考。具体分析如下:split 是非常重要的字符串方法,它是join的逆方法
- SESSION会话开启时,会首先发送一个对浏览器的唯一标识session_id的cookie(名字为PHPSESSID可以通过session
- 昨天晚上睡觉前突然想到的,在此记一笔。传统方式以前我们做文章系统或新闻发布系统的时候,做文章内链(标签)的时候,通常是通过以下方式来实现的:
- 1. 信号与槽(Signals and slots)信号与槽机制是 PyQt 的核心机制,用于对象之间的通信,也就是实现函数之间的自动调用。
- 前言这段时间刚刚学习了一段时间的Python,加上自己是做iOS开发的,就想着用Python来做一个自动化打包,可以自动完成打包,上传到蒲公
- 求3721,163,1,4832,1980,2008,68686688,9999,17173,5173,8848中最大的数明白后,试着求一下
- 上一篇:微软建议的ASP性能优化28条守则(7)技巧 22:尽可能使用 Server.Transfer 代替 Response.Redire
- Python的优点和缺点本节内容如下:Python的优点Python的缺点使用Python的知名网站Python的优点1. 简单 Pytho
- 我就废话不多说了,直接上代码吧!#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名
- 今天是Firefox3的2008下载日(貌似北京时间是6.18的凌晨1:00),这就意味着Firefox3正式发布了。Firefox3有众多
- 本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下:添加以下代码到setti
- 很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查
- 本文实例讲述了Sanic框架请求与响应。分享给大家供大家参考,具体如下:前面介绍了Sanic框架的路由,这里接着介绍Sanic框架的请求与响
- 简单介绍NumPy系统是Python的一种开源的数组计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested
- python中迭代器和iter()函数迭代器为类序列对象提供了一个类序列的接口。python的迭代无缝地支持序列对象,而且它还允许程序员迭代
- 前言.net core来势已不可阻挡。既然挡不了,那我们就顺应它。了解它并学习它。今天我们就来看看和之前.net版本的配置文件读取方式有何异
- 首先将一个字典转化为DataFrame,然后以DataFrame中的列进行频次统计。代码如下:import pandas as pda={&
- 有一个表,用户需要在后台操作它,希望能对它动态进行添加删除字段。这个功能也许没有问题,但是它原有插入与更新的两个存储过程,也需要一起修改。因
- 简单的XML操作:XML文件创建把下面的代码复制到按钮事件中编译执行后可在相应物理路径中产生Pos.xml文件XmlTextWriter x
- 英文文档:staticmethod(function)Return a static method for function.A stati