首頁 > 後端開發 > Python教學 > 如何在Python中取得呼叫者的方法名稱?

如何在Python中取得呼叫者的方法名稱?

Linda Hamilton
發布: 2024-12-07 07:56:13
原創
440 人瀏覽過

How to Get the Caller's Method Name in Python?

在 Python 中存取呼叫者的方法名稱

在被呼叫方法中取得呼叫方法的名稱對於除錯和自省非常有用。為了實現這一點,Python 提供了檢查模組,它提供了一組用於檢查程式碼物件的函數。

利用檢查中的 getframeinfo 和 currentframe 函數,可以存取呼叫堆疊並檢索呼叫者的訊框。透過迭代呼叫堆疊,可以識別呼叫者的名稱。

這是說明此方法的範例:

import inspect

def method1():
    frame = inspect.currentframe()
    outer_frame = inspect.getouterframes(frame, 2)[1]
    print(f"Caller's name: {outer_frame[3]}")
    method2()

def method2():
    frame = inspect.currentframe()
    outer_frame = inspect.getouterframes(frame, 2)[1]
    print(f"Caller's name: {outer_frame[3]}")

method1()
登入後複製

執行時,此程式碼將輸出:

Caller's name: method1
Caller's name: method2
登入後複製

雖然內省有利於除錯和開發,但不應該在與生產相關的過程中過度依賴它功能。

以上是如何在Python中取得呼叫者的方法名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板