Magic Commands ist ein Mechanismus, der vom IPython-Kernel bereitgestellt wird. Zusätzlich zu den Funktionen für den Notebook-Betrieb bietet es Dienstprogrammfunktionen wie das Verschieben von Verzeichnissen und das Anzeigen einer Liste von Dateien.
Geben Sie am Anfang %
ein und geben Sie dann den Befehl ein. Der Befehl zum Ausgeben des aktuellen Verzeichnisses lautet wie folgt.
%pwd
Der magische Befehl % pwd
scheint sich nicht von ! Pwd
zu unterscheiden, der die Shell verwendet, aber die Befehlsausführung mit !
Hängt von der Betriebssystem-Shell ab. Auf der anderen Seite hängen magische Befehle von den Funktionen ab, die vom IPython-Kernel bereitgestellt werden.
Wenn ein magischer Befehl einen Wert ändert, können Sie den Rückgabewert einer Variablen zuweisen, genau wie beim Aufrufen einer Python-Funktion.
curr_dir = %pwd
curr_dir
%time
Ein magischer Befehl, der die Ausführungszeit von Python misst.
%time sum(range(10000))
CPU times: user 226 μs, sys: 0 ns, total: 226 μs
Wall time: 230 μs
Ausgabe | Erläuterung |
---|---|
Wall time | Die Zeit, die vom Anfang bis zum Ende des Programms gedauert hat |
CPU times: user | Benutzer-CPU-Zeit. Zeit, die benötigt wird, um das Programm selbst auszuführen |
sys | System-CPU-Zeit. Zeit, die für den Systemaufruf des Betriebssystems benötigt wird |
%timeit
Ein magischer Befehl, der die gemessenen Werte der Ergebnisse mehrerer Versuche zusammenfasst und zurückgibt. In den folgenden Fällen wird die Zeit ausgegeben, zu der 1000 Iterationen siebenmal versucht werden.
%timeit sum(range(10000))
224 µs ± 21.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
Die Anzahl der Schleifen und die Anzahl der Versuche können als Optionen angegeben werden.
#2000 Schleifen, 5 Versuche
%timeit -n 2000 -r 5 sum(range(10000))
215 µs ± 17.9 µs per loop (mean ± std. dev. of 5 runs, 2000 loops each)
Wenn Sie mit% timeit für mehrere Zeilen Python-Code messen, fügen Sie zwei führende %
zu %%
hinzu, wie unten gezeigt. (Zellmagie)
%%timeit -n 1000 -r 3
for i in range(1000):
i * 2
75.2 µs ± 9.58 µs per loop (mean ± std. dev. of 3 runs, 1000 loops each)
%history
Ein magischer Befehl, um eine Liste der Ausführungsverläufe von Codezellen abzurufen.
#Holen Sie sich die neuesten 5 Geschichten
%history -l 5
%ls
Ein magischer Befehl, der sich wie der UNIX-Befehl ls
verhält. Im Gegensatz zu ! Ls
bestimmt % ls
den Typ des Betriebssystems und verwendet die Befehle, die intern ausgeführt werden sollen. ( Ls
Befehl für macOS, dir
Befehl für Windows)
%autosave
Sie können die Häufigkeit des automatischen Speicherns ändern. (Standard 120 Sekunden)
#Führen Sie die automatische Speicherung alle 60 Sekunden einmal aus.
%autosave 60
%matplotlib
Ein magischer Befehl, der Matplotlib setzt.
%matplotlib inline
Wenn Inline angegeben ist, wird das Diagramm direkt unter der Codezelle gezeichnet.

%matplotlib tk
Wenn tk angegeben ist, wird ein interaktives Diagramm in einem separaten Fenster ausgegeben.

%matplotlib notebook
Wenn ein Notizbuch angegeben ist, wird ein interaktives Diagramm direkt unter der Codezelle ausgegeben.

--Um die einmal angegebene Ausgabemethode zu ändern, starten Sie den Kernel neu.
Recommended Posts