在 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中文網其他相關文章!