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

解讀Python中的frame是什么

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

Python中的frame是什么

棧幀(frame)

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

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

這里列出來(lái)的屬性全部是只讀的。

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

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

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

Python的frame對(duì)象

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

參考鏈接:

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

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

特殊的只讀屬性

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

特殊可寫(xiě)屬性

f_trace、 f_exc_type、f_exc_value、f_exc_traceback、f_lineno

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

相關(guān)文章

最新評(píng)論