[解決済み】呼び出されたメソッドで呼び出し元のメソッド名を取得する方法は?
2022-04-04 23:08:25
質問
Pythonです。呼び出されたメソッドで呼び出し元のメソッド名を取得する方法は?
2つのメソッドがあると仮定します。
def method1(self):
...
a = A.method2()
def method2(self):
...
method1に対して変更を行わない場合、method2で呼び出し元の名前(この例ではmethod1)を取得するにはどうすればよいですか?
どのように解決するのですか?
inspect.getframeinfo
といった関連する関数を
inspect
が役に立ちます。
>>> 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
このイントロスペクションは、デバッグや開発を支援するためのものであり、実稼働時の機能として頼ることはお勧めしません。
関連
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] インスタンスのクラス名を取得する?
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】Pythonのコードでメソッドから現在のコールスタックを表示する
-
[解決済み] Pythonで別の関数内の呼び出し側関数名を取得する?[重複しています]。