Beim Arbeiten mit komplexem Python-Code kann es hilfreich sein, den Namen der Methode zu ermitteln eine bestimmte Methode genannt. Dies kann beim Debuggen, Profilieren und Verstehen des Codeflusses hilfreich sein.
Eine Möglichkeit, dies zu erreichen, ist die Verwendung des Inspect-Moduls, insbesondere der Funktionen getframeinfo und getouterframes. Diese Funktionen liefern Informationen über die aktuellen und vorherigen Frames im Aufrufstapel.
Betrachten Sie das folgende Beispiel:
def method1(self): ... a = A.method2() def method2(self): ...
Wenn wir den Namen des Aufrufers (Methode1) innerhalb von Methode2 erhalten möchten Ohne Methode 1 zu ändern, können wir den folgenden Code verwenden:
import inspect def f1(): f2() def f2(): curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) print('caller name:', calframe[1][3]) f1()
Dieser Code verwendet den aktuellen Frame, um den äußeren Frame abzurufen, der die Aufrufmethode darstellt. Der Funktionsname wird dann aus den Informationen des äußeren Rahmens extrahiert.
Es ist wichtig zu beachten, dass Selbstbeobachtungstechniken wie diese in erster Linie für Debugging- und Entwicklungszwecke gedacht sind. Es wird nicht empfohlen, sich bei produktionskritischen Funktionen auf sie zu verlassen.
Das obige ist der detaillierte Inhalt vonWie erhalte ich den Namen der aufrufenden Methode in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!