IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Python - Der Python-Interpreter



Der Python-Interpreter

Der Artikel über die Programmiersprache Python vermittelt, was die Programmiersprache Python auszeichnet. In diesem Artikel geht es um den Python-Interpreter. Als Grundlage dafür hat mir das offizielle, englischsprachigen Tutorial gedient. Einige Teile wurden jeweils weggelassen, dafür wurden an gewissen Stellen auch noch Informationen und Beispiele beigefügt.


Autor: Patrick Bucher (paedubucher)
Datum: 06-08-2007, 11:23:27
Referenzen: Das offizielle Python-Tutorial
Schwierigkeit: Fortgeschrittene
Ansichten: 11763x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Den Interpreter aufrufen

Auf UNIX-artigen Systemen ist der Python-Interpreter meistens unter dem Pfad /usr/local/bin/python zu finden. Befindet sich dieses Verzeichnis im Suchpfad der Shell, kann der Python-Interpreter direkt über den folgenden Befehl aufgerufen werden:

python

Python ist in vielen UNIX-artigen Distributionen im Lieferumfang enthalten, bei Windows jedoch nicht. Python muss somit auf Windows manuell installiert werden. Hierbei sollte man sich den Installationspfad von Python merken (z.B. C:\python25) und den Pfad in die Umgebungsvariable PATH aufnehmen:

set path=%path%;C:\python25

Der Python-Interpreter läuft nun im interaktiven Modus (mehr dazu später). Um den Python-Interpreter wieder zu verlassen, kann das sog. end-of-file Zeichen eingegeben werden (Control-D unter UNIX-artigen Systemen und Control-Z auf Windows). Sollte dies nicht funktionieren, kann der Interpreter mit den folgenden Befehlen beendet werden:

import sys
sys.exit()

Befehle direkt ausführen

Eine weitere Möglichkeit, den Python-Interpreter aufzurufen, lautet folgendermassen:

python -c "[Befehl1; Befehl2; ...; BefehlN]"

Wird Python mit dem Parameter -c aufgerufen, werden die angegebene Befehle ausgeführt. Werden mehrere Befehle auf einer Zeile angegeben, müssen diese jeweils durch einen Semikolon (;) voneinander getrennt werden. Da Python-Befehle oftmals Leerzeichen oder spezielle Shell-Zeichen enthalten, ist es ratsam, den ganzen Befehl/alle Befehle mit doppelten Anführungszeichen zu umfassen. So können auch Befehle über mehrere Zeilen hinweg aufgeführt werden. Dazu ein Beispiel:

python -c "a = 5; b = 7; c = a + b; print c"

python -c "a = 5
b = 7
c = a + b
print c"

In diesen Beispielen werden jeweils zwei Variablen (a und b) mit den Werten 5 und 7 initialisiert. Die Summe dieser beiden Variablen wird dann der Variablen c zugewiesen und mit dem print-Befehl ausgegeben. Das Ergebnis lautet jeweils 12. Diese beiden Beispiele unterscheiden sich nur durch die Formatierung; im ersten Beispiel werden die Befehle auf einer Zeile, getrennt durch Semikola, angegeben, im zweiten Beispiel wird der Zeilenumbruch als Trennzeichen verwendet.

Ganze Skripts ausführen

In der Regel führt man mit Python nicht nur eine Hand voll Befehle aus, sondern ganze Skripts. In diesem Fall erübrigt sich die Angabe des Parameters -c. Der folgende Aufruf zeigt, wie das Skript HalloWelt.py mit dem Python-Interpreter ausgeführt wird:

python HalloWelt.py

Die allgemeine Syntax für das Aufrufen eines Skripts lautet somit folgendermassen:

python [Skriptdatei] [Argumente]

Die Übergabe von Argumenten

Einem Python-Skript können auch Argumente mitgegeben werden. Diese müssen jeweils durch ein Leerzeichen voneinander getrennt aufgeführt werden. Im Python-Skript selber sind diese Argumente unter der Variablen (genauer der Liste) sys.argv abrufbar. Wird ein Skript mit Argumenten aufgerufen, ist der Name des Skripts (Dateiname) jeweils unter sys.argv[0] abrufbar.
Das folgende Skript (argumente.py) listet sämtliche mitgegebenen Argumente in der Standardausgabe auf:

import sys                  #1

for eachArg in sys.argv:    #2
        print eachArg       #3

Die Erste Zeile (#1) importiert das Modul sys. Dies ist notwendig, damit die Argumente unter sys.argv abgefragt werden können. Die Zeile #2 iteriert über sämtliche Argumente, auf Zeile #3 wird dann das jeweilige Argument ausgegeben. Der Aufruf des Skripts könnte nun etwa so aussehen:

python argumente.py Spam Eggs

Dieser Aufruf erzeugt folgende Ausgabe:

argumente.py
Spam
Eggs

Der interaktive Modus

Zu Beginn des Artikels wurde beschrieben, wie der Python-Interpreter im interaktiven Modus gestartet wird. In diesem Modus wartet der Interpreter auf Befehle von der Tastatur, die Eingabeaufforderung nimmt jeweils die Form von drei "Grösser als"-Zeichen (>>>) an. Wird ein Befehl auf einer Zeile nicht abgeschlossen, nimmt die Eingabeaufforderung die Form von drei Punkten (...) an. Sobald der Python-Interpreter im interaktiven Modus gestartet ist, werden Versionsangaben und Informationen zum Copyright ausgegeben. Darauf folgt die Eingabeaufforderung für den ersten Befehl. Bei Python 2.5, ausgeführt auf Ubuntu Linux, kann die Ausgabe etwa so aussehen:

$ python
Python 2.5.1 (r251:54863, May  2 2007, 16:56:35) 
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Nun können einzelne Befehle (oder mehrere, durch Semikolon getrennte Befehle) angegeben und mit Return ausgeführt werden. Dazu ein Beispiel:

>>> a = 65
>>> b = 41
>>> c = a + b
>>> print c
106
>>> 

Bei der Eingabe eines mehrzeiligen Konstrukts (if-Prüfung, Definition einer Funktion, etc.) werden Folgelinien (...) verwendet. Hier ein Beispiel mit einer einfachen if-Prüfung:

>>> a = 66
>>> b = 600
>>> c = a + b
>>> if c == 666:
...     print 'c is equal to the number of the beast'
... 
c is equal to the number of the beast

Wie man hier gut erkennen kann, wird der bedingte if-Block durch zwei Return-Zeichen abgeschlossen. Aus diesem Grund erscheint die ...-Eingabeaufforderung zweimal direkt nacheinander.

Die Umgebung des Python-Interpreters

In den folgenden Abschnitten wird etwas über den Tellerrand geblickt und die Umgebung des Python-Interpreters thematisiert.

Direkt ausführbare Python-Skripts

Auf UNIX-artigen Systemen besteht die Möglichkeit, ein Python-Skript direkt ausführbar zu machen. Dazu muss die erste Zeile der Skriptdatei eine sog. "Shebang"-Zeile sein. Ein Shebang beginnt mit der Zeichenkette #! und enthält den Pfad des Interpreters, mit dem die Datei ausgeführt werden soll. Dazu ein Beispiel (shebang.py):

#! /usr/bin/python

Wird das Skript nun mit dem Befehl ./shebang.py gestartet, kann das Betriebssystem nun der Shebang-Zeile entnehmen, mit welchem Interpreter ein Skript ausgeführt werden soll. In diesem Fall ist es der Python-Interpreter, der sich unter /usr/bin/python befindet. Damit die Skriptdatei auch wirklich direkt ausführbar ist, muss die Berechtigung für dieses Skript zunächst mit dem chmod-Befehl erteilt werden:

chmod +x shebang.py

Die Kodierung des Quellcodes

Es ist möglich, in Python-Quellcodedateien andere Kodierungen als ASCII zu verwenden. Dazu kann ein spezieller Kommentar innerhalb der Quellcodedatei aufgeführt werden, der nach der Shebang-Zeile stehen muss:

# -*- coding: Kodierung -*-

Verfügt man z.B. über einen Unicode-fähigen Editor, kann die Kodierung UTF-8 angegeben werden:

# -*- coding: utf-8 -*-

Fortan können nun im Quellcode beliebige Zeichen des UTF-8 Zeichensatzes verwendet werden. Weitere mögliche Kodierungen können der Python Library Reference entnommen werden.

Eine Start-Datei für den interaktiven Modus

Verwendet man Python oft im interaktiven Modus, so kann es praktisch sein, dass einige Befehle beim Start jeder Python-Sitzung automatisch ausgeführt werden. Dazu wird eine Datei erstellt, welche alle auszuführenden Python-Befehle entählt. Auf diese Datei muss anschliessend mit einer Umgebungsvariable verwiesen werden, die den Namen PYTHONSTARTUP trägt. Dazu ein kleines Beispiel (startup.txt):

pi = 3.14
a = 15
b = 3

Die Datei startup.txt befindet sich unter dem Verzeichnis /home/paedubucher/. Der Befehl zum Setzen der Umgebungsvariable PYTHONSTARTUP muss nun so lauten (Bash-Syntax):

export PYTHONSTARTUP=/home/paedubucher/startup.txt

Startet man nun den Python-Interpreter, werden die angegebenen Befehle ausgeführt. Die Variablen pi, a und b stehen nun zur Verfügung und können in der interaktiven Sitzung direkt verwendet werden:

python
>>> c = pi * (a + b)
>>> print c
56.52

Die Befehle, die in der Startup-Datei enthalten sind, werden nur bei interaktiven Sitzungen ausgeführt. Wird ein normales Python-Skript ausgeführt, werden die Befehle in der Startup-Datei ignoriert.



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0