在處理複雜的 Python 程式碼時,取得呼叫方法的名稱會很有用。稱為特定方法。這可以幫助調試、分析和理解程式碼流。
實現此目的的一種方法是利用檢查模組,特別是 getframeinfo 和 getouterframes 函數。這些函數提供有關呼叫堆疊中當前幀和前一幀的資訊。
考慮以下範例:
def method1(self): ... a = A.method2() def method2(self): ...
如果我們想取得method2 中的呼叫者(method1)的名稱在不修改method1的情況下,我們可以使用以下程式碼:
import inspect def f1(): f2() def f2(): curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) print('caller name:', calframe[1][3]) f1()
這段程式碼使用目前幀來取得外幀,它代表呼叫者方法。然後從外部框架的資訊中提取函數名稱。
需要注意的是,像這樣的內省技術主要用於調試和開發目的。不建議依賴它們來實現生產關鍵型功能。
以上是Python中如何取得呼叫方法的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!