欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀Python中的frame是什么

 更新時間:2022年11月09日 10:52:29   作者:程序之巔  
這篇文章主要介紹了解讀Python中的frame是什么,關(guān)于frame使用講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python中的frame是什么

棧幀(frame)

棧幀表示程序運行時函數(shù)調(diào)用棧中的某一幀。想要獲得某個函數(shù)相關(guān)的棧幀,則必須在調(diào)用這個函數(shù)且這個函數(shù)尚未返回時獲取。

可以使用sys模塊的_getframe()函數(shù)、或inspect模塊的currentframe()函數(shù)獲取當前棧幀。

這里列出來的屬性全部是只讀的。

  • f_back: 調(diào)用棧的前一幀。
  • f_code: 棧幀對應(yīng)的code對象。
  • f_locals: 用在當前棧幀時與內(nèi)建函數(shù)locals()相同,但你可以先獲取其他幀然后使用這個屬性獲取那個幀的locals()。
  • f_globals: 用在當前棧幀時與內(nèi)建函數(shù)globals()相同,但你可以先獲取其他幀……

示例: 假設(shè)在下面代碼的第四行打斷點

函數(shù)被斷點停止住時刻的frame信息如下

Python的frame對象

Frame對象表示執(zhí)行幀。它們可能出現(xiàn)在traceback對象中。

參考鏈接:

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

Frame對象可以用來獲取Python運行過程中的函數(shù)調(diào)用堆棧,或者函數(shù)內(nèi)部的各類信息

特殊的只讀屬性

屬性說明
f_back前一個堆棧幀(朝向調(diào)用者),如果這是底部堆棧幀則為None
f_code在這個框架中執(zhí)行的Code對象
f_locals用于查找局部變量的字典
f_globals用于全局變量
f_builtins用于內(nèi)置名稱
f_restricted表示該函數(shù)是否在限制執(zhí)行模式下執(zhí)行的標志
f_lasti給出精確的指令(這是代碼對象的字節(jié)碼字符串的索引)

特殊可寫屬性

f_trace、 f_exc_type、f_exc_value、f_exc_traceback、f_lineno

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論