複雑な Python コードを扱う場合、メソッドの名前を取得すると便利です。特定のメソッドと呼ばれます。これは、デバッグ、プロファイリング、コード フローの理解に役立ちます。
これを実現する 1 つの方法は、inspect モジュール、特に 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 中国語 Web サイトの他の関連記事を参照してください。