Heim >Backend-Entwicklung >Python-Tutorial >Artefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses

Artefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses

王林
王林nach vorne
2023-04-12 22:10:041617Durchsuche

Artefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses

Werfen wir zunächst einen Blick auf die Renderings:

Artefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses

Wie wäre es, es ist sehr erstaunlich~

Lassen Sie uns diesen Visualisierungsprozess gemeinsam abschließen.

1. Installieren Sie das Graphviz-Tool.

Der Prozess der Bildgenerierung hängt vom Tool Graphviz ab. Wir laden es zuerst herunter und installieren es.

Download-Adresse

  • http://www.graphviz.org/download/

2. Praktischer Kampf

Als nächstes müssen wir zwei Python-abhängige Bibliotheken installieren.

pip install pycallgraph

Der Code ist relativ einfach und definiert zwei einfache Klassen. Unter dem Codeblock „with“ führen Sie den Code aus Sie können

den obigen Code ausführen und eine Basic.png-Bilddatei wird im aktuellen Verzeichnis generiert

Artefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses Auf dem generierten Bild können Sie den laufenden Prozess des gesamten Codes deutlich sehen, vom Hauptcodeblock bis zum Man kann sagen, dass die Initialisierung jeder Klasse auf einen Blick klar ist.

Nehmen wir ein weiteres komplizierteres Beispiel:

from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
class Banana:
 def eat(self):
 pass
class Person:
 def __init__(self):
 self.no_bananas()
 def no_bananas(self):
 self.bananas = []
 def add_banana(self, banana):
 self.bananas.append(banana)
 def eat_bananas(self):
 [banana.eat() for banana in self.bananas]
 self.no_bananas()
def main():
 graphviz = GraphvizOutput()
 graphviz.output_file = 'basic.png'
 with PyCallGraph(output=graphviz):
 person = Person()
 for a in range(10):
 person.add_banana(Banana())
 person.eat_bananas()
if __name__ == '__main__':
 main()

Der Code ist ebenfalls unverantwortlich, aber die Re-Regularisierung wird im Compiler aufgerufen:

Artefakt zur einfachen Visualisierung des Python-ProgrammaufrufprozessesSie können den gesamten Codeprozess sehen Es ist viel komplizierter, weil viele reguläre interne Funktionen intern aufgerufen werden, aber das Ganze ist immer noch sehr klar

Man kann sagen, dass diese Bibliothek von Drittanbietern auf Gott-Ebene für viele Python-Enthusiasten, insbesondere für diese, definitiv eine gute Nachricht ist die gerade erst im Python-Bereich anfangen. Wenn wir auf unbekannte und komplexe Codeblöcke stoßen, können wir diese Bibliothek genauso gut nutzen, um die Visualisierung auszuprobieren und zu sehen, ob wir uns davon inspirieren lassen~

Das obige ist der detaillierte Inhalt vonArtefakt zur einfachen Visualisierung des Python-Programmaufrufprozesses. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen