##[[Getestet(general)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] = Einleitung = [http://de.wikipedia.org/wiki/Python_(Programmiersprache) Python] {de} ist eine Interpretersprache, d.h. der Programmcode muss vor Ausführung nicht kompiliert werden. Seit Beginn ihrer Entwicklung durch [http://de.wikipedia.org/wiki/Guido_van_Rossum Guido van Rossum] {de} in den 1990ern folgt Python zwei grundlegenden Prinzipien. == 1. Einfachheit == Python ist ähnlich wie [:Perl:] so aufgebaut, dass es sich an der menschlichen Sprache orientiert, viele Befehle und Funktionen sind daher im Englischen selbsterklärend. Um die Übersichtlichkeit zu erhöhen, erfolgt die Strukturierung von Anweisungsblöcken nicht mit ''';''' oder Klammern, sondern durch Einrücken. == 2. Freiheit == Python unterstützt verschiedene Programmierstile, wie objektorientiertes, funktionelles oder aspektorientiertes Programmieren. Neben den Standardfunktionen und -objekten, gibt es eine riesige Bibliothek mit Paketen zu verschiedensten Problemstellungen. Sie reichen von der XML-, HTML-Verarbeitung bis hin zu Funktionen, welche bei der Bearbeitung wissenschaftlicher Probleme helfen. Dies bedeutet bei der Erstellung eines Quellcodes eine teilweise erhebliche Zeitersparnis. Um Programme mit Python zu erstellen, gibt es drei Wege, welche im Folgenden besprochen werden. Dies ist die Arbeit mit * der interaktiven Pythonkonsole - der Code wird bei der Eingabe sofort ausgeführt * [:Editoren:] und Konsole - der Code wird in einem Editor erstellt und über die Konsole ausgeführt * [:Entwicklungsumgebungen:] - alle Bestandteile, um ein Programm zu erstellen, sind in einer Umgebung zusammengefasst = Installation = Python ist bei einer Ubuntu-Installation bereits enthalten, da auch Systemkomponenten Python benötigen. Das Paket * '''python''' enthält die grundlegenden Pakete der vom System aktuell verwendeten Version. Ab Feisty liegt Python standardmäßig in der Version 2.5 vor, in Edgy und Dapper als Version 2.4. Unter Edgy hat man auch die Möglichkeit, die zusätzlich die Version 2.5 nachzuinstallieren [1], dies erfolgt mit dem Paket * '''python2.5''' und bei Bedarf der Installation weiterer Pakete, die zusätzliche Module zur Verfügung stellen. = Die interaktive Konsole = Die Arbeitsweise einer Konsole ist ähnlich der [:Shell:] [3] für Linux. Sie ist vor allem für Einsteiger und zum testen von kleineren Abschnitten des Quelltextes nützlich, da die eingegebenen Befehle sofort ausgeführt werden. == Start == Die interaktive Konsole wird gestartet durch [3] {{{#!vorlage Befehl python }}} Schon kann es losgehen. == Code-Completion == Es ist sehr praktisch, auch in der interaktiven Konsole eine automatische Vervollständigung des Codes zu nutzen. Dazu legt man eine Datei '''~/.pythonrc''' mit folgendem Inhalt an: {{{try: import readline except ImportError: print "Module readline not available." else: import rlcompleter readline.parse_and_bind("tab: complete") }}} Ab dem nächsten Aufruf von Python auf der Konsole kann man dann die Vervollständigung mit [[Vorlage(Tasten, Tab)]] nutzen. == Navigation == Eingaben werden mit [[Vorlage(Tasten, Eingabe)]] bestätigt. Will man aus früher eingegeben Befehle auswählen, so geschieht die Navigation in diesen durch [[Vorlage(Tasten, hoch)]] und [[Vorlage(Tasten, runter)]]. In der aktuell angezeigten Eingabe kann man sich mittels [[Vorlage(Tasten, links)]] und [[Vorlage(Tasten, rechts)]] bewegen. == Nützliche Befehle == Um in der Konsole zu arbeiten, gibt es einige sehr hilfreiche Befehle von Python. Sie werden an einem kurzen Beispiel erklärt {{{#!vorlage Befehl >>> dir() }}} Es wird eine Auflistung aller der Konsole bekannten Variablen ausgegeben {{{#!vorlage Befehl >>>import os >>> help(os) }}} Es wird das Modul ``os`` importiert. Somit erhält man viele Möglichkeiten, um Informationen über das System zu erhalten. Mit ``help(os)`` wird eine kommentierte Übersicht aller im Modul enthaltenen Klassen und Methoden ausgegeben. {{{#!vorlage Experten Wer plattformunabhängig programmieren will, sollte sich eingehendend mit dem os-Modul beschäftigen. }}} = Ein Programm erstellen = Der Standardweg geht über einen Editor, um Pythonprogramme zu erstellen. Sie bieten viele Hilfen wie Syntaxhervorhebung, automatische Einrückung und Funktionen zu verkleinern. Daher gibt es auch eine riesige Zahl von Programmen, es kann also jeder einen Editor seiner Wahl finden. Es wird der Quelltext im bevorzugten Editor [4] erstellt und als '''*.py''' abgespeichert. {{{#!code python #mein Hallo-Welt-Programm print 'Hallo Welt!' }}} Als Beispiel sei der Quellcode unter '''~/hallowelt.py''' abgespeichert. Nun öffnet man das Terminal [3] und wechselt in das Verzeichnis der Quelldatei. In diesem Ordner kann man sodann durch eine einzige Befehlszeile den Code ausführen {{{#!vorlage Befehl python hallowelt.py }}} = Neue Funktionen hinzufügen = == Grundlagen == Wie in der Einleitung beschrieben, besitzt Python ein riesiges Repartoire von Funktionen und Klassen. Diese Bibliothek ist in "Module" unterteilt, wobei sich in jedem Modul Funktionalitäten zu einem ganz bestimmten Thema befinden. Einige Module, welche sehr oft benötigt werden, sind immer in der Installation enthalten. Alle anderen Module müssen auf dem Computer nachträglich hinzugefügt werden. == Bereitstellung des Moduls == Befindet sich das Modul nicht im Ordner '''/usr/lib/python2.5''' oder einem seiner Unterordner, so muss es zunächst installiert werden. Dazu installiert [1] man das Paket mit dem Namen * '''python-''Modulname''''' (Paket liegt möglicherweise in ''universe'' [2]) oder * '''python2.5-''Modulname''''' (Paket liegt möglicherweise in ''universe'' [2]) Nach der Installation kann man das Modul im Programm importieren durch {{{#!code python import modul }}} Nun sind die Objekte des Moduls aufrufbar mittels {{{#!code python modul.objekt }}} = Links = * [http://python.org/ Offizielle Python Webseite] {en} * [http://wiki.python.de/ Deutsches Python Wiki] {de} * [:Entwicklungsumgebungen:Übersicht über Entwicklungsumgebungen] * [http://www.python-forum.de/ Python-Forum] {de} * [http://www.dokuwelt.de/tutorials_artikel.php?themenID=44&kategorieID=1 Dokuwelt.de] - Linksammlung zu (meist) deutschsprachigen Python-Anleitungen {de} * [http://abop-german.berlios.de/ A Byte of Python] - Ein wunderbares Einsteigertutorial {de} * [http://www.greenteapress.com/thinkpython/ How to Think Like a (Python) Programmer] - Einstieg in die Programmierung anhand von Python {en} * [http://www.diveintopython.org/ Dive into Python] - Ein Tutorial für ambitionierte Pythonprogrammierer {en} * [http://www.python4kids.net Python für Kids] - Auch für erwachsene Kids {de} (Print-Ausgabe) ---- # tag: Programmierung