IPython ist eine verbesserte Version der Standard-Python-Shell, die viele zusätzliche Funktionen bietet. Erfahre mehr über seine Geschichte, seine Vorteile und seine enge Verbindung mit dem Jupyter-Projekt.
Die Standard-Distribution von Python bietet eine REPL-Umgebung (Read-Evaluate-Print Loop) in Form der Python-Shell mit dem Prompt “ „.
Die interaktive IPython-Umgebung (Interactive Python) bietet jedoch viele zusätzliche Funktionen im Vergleich zu dieser Standard-Python-Shell. Sie ist auch die Wurzel des Jupyter-Projekts.
Auch interessant: Bash Shell
Was ist IPython ?
IPython ist ein stark verbesserter Python-Interpreter, der 2001 von Fernando Perez entwickelt wurde. Ab 2005 entstand eine Notebook-Schnittstelle für die IPython-Shell, und später wurden auch andere Sprachen wie R und Julia unterstützt.
Fast ein Jahrzehnt später, im Jahr 2014, gründete Fernando Perez das Jupyter-Projekt als „Spin-off“ von IPython. Aus gutem Grund war IPython um einen Notebook-Server und eine Qt-Konsole erweitert worden.
Ab IPython 4.0 wurden alle zusätzlichen Komponenten in das Jupyter-Projekt übernommen. Das IPython-Notebook wurde um die Unterstützung weiterer Sprachen erweitert.
Derzeit konzentriert sich IPython weiterhin auf die Verbesserung seiner Interpreter-Funktionen. Es stellt auch den primären Kernel für das Jupyter-Notebook zur Verfügung.
Die Vorteile von IPython
IPython bietet im Vergleich zu Python zusätzliche Fähigkeiten. Sein erstes Highlight ist eine mächtige interaktive Python-Shell.
Erwähnenswert sind auch das Syntax-Highlighting und das praktische Magic Command System zur Steuerung der Python-Umgebung und zur Durchführung von OS-Aufgaben. Die Tab-Vervollständigung von Schlüsselwörtern, Variablen und Funktionsnamen ist ein weiterer Pluspunkt.
Seine Fähigkeiten zur Objektintrospektion ermöglichen es, die Eigenschaften eines Objekts während der Laufzeit zu überprüfen. Es bietet einige sehr nützliche Funktionen für die Exploration, wie z. B. den Operator „?“, mit dem du den Typ und den Docstring einer Variablen angeben kannst.
Wenn es sich um eine Klasse oder ein „callable“ handelt, wird die Signatur des Aufrufs oder Konstruktors angezeigt.
Wenn du ein zweites „?“ hinzufügst, wird auch der Quellcode angezeigt. Darüber hinaus enthält das Programm einfach zu verwendende und hochleistungsfähige Werkzeuge für parallele Berechnungen.
Wenn bei der Ausführung eines Skripts mit dem Befehl „run“ eine Ausnahme auftritt, kann man mit dem Befehl „debug“ auf den Python-Debugger pdb zugreifen, ohne das Skript erneut ausführen zu müssen.
Dann ist es möglich, das Skript so zu untersuchen, wie es vor der Ausnahme war.
Der Befehl „run-p“ zeigt eine Liste an, die die Anzahl der Aufrufe für jede Funktion und die kumulierte Zeit mit und ohne Unteraufrufe anzeigt. Diese Statistiken ermöglichen eine gezieltere Optimierung. Der gesamte Verlauf der Interaktionen wird gespeichert.
Viele Python-Programme können in IPython integriert werden. Dies ist zum Beispiel bei der Matplotlib-Bibliothek der Fall. Dies vereinfacht das Scripting von interaktiven Plots, und ipython -pylab bietet eine mit Matlab vergleichbare Umgebung zur Datenvisualisierung.
Darüber hinaus fungiert IPython als Hauptkernel für das Jupyter-Notebook und andere Frontend-Tools des Jupyter-Projekts. Es ist daher ein unverzichtbares Werkzeug für die Data Science.
Was ist das Jupyter-Projekt?
Das Jupyter-Projekt ist ein umfassendes Software-Ökosystem für interaktives Rechnen, das ursprünglich als Spin-off von IPython entstand. Es umfasst mehrere Werkzeuge und Programme.
Das Jupyter-Notebook ist eine webbasierte Schnittstelle zu den Programmierumgebungen von Python, Julia R und vielen anderen. Die QtConsole ist ein Qt-basiertes Terminal für Jupyter-Kernel, die IPython ähneln.
Der nbviewer erleichtert die gemeinsame Nutzung von Jupyter-Notebooks, und das JupyterLab ist eine moderne, integrierte, webbasierte Schnittstelle für alle Produkte.
Fazit: IPython, ein stark verbesserter Python-Interpreter
IPython verbessert das Crawlen, Debuggen oder auch die Optimierung mit Python. Es ist auch sehr nützlich für parallele Berechnungen und dient als Kernel für die Jupyter-Notebooks.
Um den Umgang mit Python, IPython und Jupter zu erlernen, kannst du dich für DataScientest entscheiden.
Unsere Online-Kurse bieten dir die Möglichkeit, alle Fähigkeiten zu erwerben, die du als Data Scientist, Data Analyst, Data Engineer oder Data Manager benötigst.
Alle unsere Kurse werden vollständig Online absolviert und können über Deinen Bildungsgutschein finanziert werden. Entdecke jetzt DataScientest!