ホームページ  >  記事  >  バックエンド開発  >  Python で呼び出し元のメソッド名を確認するにはどうすればよいですか?

Python で呼び出し元のメソッド名を確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-10 10:40:03998ブラウズ

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

呼び出されるメソッド内で呼び出し元のメソッド名を決定する方法

Python では、呼び出し元と呼び出し先の関係を理解することがデバッグとコードにとって重要です分析。開発者が遭遇する一般的な問題は、呼び出されたメソッド内で呼び出し元のメソッド名を特定することです。この情報はデバッグに役立つことが多く、問題の原因を特定するのに役立ちます。

この問題に対処するために、Python は、呼び出し元の詳細を含む、現在のスタック フレームに関する情報にアクセスするためのいくつかの関数を提供する検査モジュールを提供します。 。この情報を取得するには、inspect.getframeinfo() 関数が重要な役割を果たします。

次の例を考えてみましょう。

def method1(self):
    ...
    a = A.method2()

def method2(self):
    ...

このシナリオでは、呼び出し元のメソッド名を特定する必要がない場合、 Method1() を変更すると、次のように Method2() 内で Inspection.getframeinfo() を使用できます。

import inspect

def f1(): f2()

def f2():
    curframe = inspect.currentframe()
    calframe = inspect.getouterframes(curframe, 2)
    print('caller name:', calframe[1][3])

f1()

出力このコードの部分は次のようになります。

caller name: f1

このアプローチでは、イントロスペクション手法を活用して、呼び出し元のメソッド名に関する情報にアクセスします。ただし、このイントロスペクションは主にデバッグと開発を目的としていることに注意することが重要です。

以上がPython で呼び出し元のメソッド名を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。