Python で呼び出しメソッドの名前を取得するには?

Patricia Arquette
リリース: 2024-11-11 03:32:02
オリジナル
421 人が閲覧しました

How to Get the Name of the Calling Method in Python?

Python で呼び出されるメソッドの呼び出し元メソッドの名前を識別する方法

複雑な 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート