Python で呼び出し元のメソッド名にアクセスする
呼び出されたメソッド内で呼び出し元のメソッド名を取得すると、デバッグやイントロスペクションに役立ちます。これを実現するために、Python はコード オブジェクトを検査するための一連の関数を提供する検査モジュールを提供します。
inspect の 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 中国語 Web サイトの他の関連記事を参照してください。