[PYTHON] Darstellung von Containern in einem verschachtelten Rahmen (schematisch) in Jupyter und was ich bei der Erstellung untersucht habe

Wie kann ich einen Container in Python einfach schematisieren? Das war der Anfang, und von diesem Zeitpunkt an notierte ich mir, was ich mit dem Jupyter-Notizbuch realisiert hatte und was ich für indirekt nützlich hielt, um es zu realisieren.

Einführung

Es ist nicht auf Python beschränkt, aber ich habe mich gefragt, ob es einfach ist, ein visuell leicht verständliches Diagramm oder etwas anderes zu erstellen, wenn Daten mit mehreren verschachtelten Containern erklärt werden (insbesondere für Programmieranfänger). Das war der Grund, warum ich das gemacht habe.

Ich bin nicht zufrieden damit, nur einige Beispiele als Bilder vorzubereiten, also habe ich mich gefragt, ob der Code so wie er ist schematisiert werden kann.

Zuerst den Container durchqueren, um ein Bild zu erstellen? Ich dachte, aber es scheint schwierig zu sein, den Teil zu berechnen, der die Verschachtelung ausdrückt ...

Aber wenn ich darüber nachdenke, war es mir vertraut, wenn es darum ging, Nesting auszudrücken. Ja, es ist einfach, in HTML zu schreiben und es in einem Webbrowser anzuzeigen.

Ich habe gerade angefangen, Jupyter zu berühren, also wäre es besser, wenn es auf Jupyter angezeigt werden könnte. Um dann Versuch und Irrtum zu machen, wird der Konvertierungsprozess in ein Modul umgewandelt ...

Aufgrund verschiedener Überlegungen wurde es "als verschachtelter Frame in HTML angezeigt".

Die Links der Websites, auf die verwiesen wird, werden direkt im Text veröffentlicht.

Entwicklungsumgebung

Ich entwickle mit Windows7 + Anaconda (Python3), Alles funktioniert, solange Sie Python 3.5.1 und Jupyter Notebook verwenden können.

Realisierungsmethode

Grundsätzlich müssen Sie nur den Container durchlaufen und den HTML-Code erstellen. Es gab immer noch viele Dinge, die ich in Python nicht verstanden habe, also habe ich beschlossen, es durch Ausprobieren zu schaffen. Notieren Sie sich einige der Dinge, die Sie dabei gelernt haben.

Geben Sie HTML wie bei Jupyter aus

Sie können das IPython-Anzeigemodul verwenden, um HTML direkt in Jupyter-Ergebnisse auszugeben.

Module: display — IPython 4.2.0 documentation http://ipython.readthedocs.io/en/stable/api/generated/IPython.display.html

--Beispiel

from IPython.display import display, HTML

display(HTML('<p>Hello.</p>'))

Konvertieren Sie Objekte wie Container in HTML

Durchlaufen Sie den Container und konvertieren Sie ihn in HTML. Es wird rekursiv transformiert, was zu einer Verschachtelung führt.

Da es schwierig ist, das Erscheinungsbild nur durch Ausgabe in HTML zu verstehen, haben wir es möglich gemacht, verschiedene Typen nach Linientyp und Farbe zu unterscheiden. Fügen Sie dem Tag also einen Stil (eine Klasse) hinzu.

Erstellen Sie ein Modul mit dem Namen "container2html", um diese Container in HTML zu konvertieren.

Um die Stildefinition anzuwenden, geben Sie das Tag