Python-Kurzreferenz (neue Version mit String-Methoden)
Python-Kurzreferenz (neue Version mit String-Methoden)
Python-Kurzreferenz (neue Version mit String-Methoden)
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Python</strong> 3.x – <strong>Kurzreferenz</strong> (<strong>Version</strong> vom 14. März 2013)<br />
1. Allgemeines<br />
• <strong>Python</strong>-Programme auf einer Konsole ausführen:<br />
Windows: C:\...\Eigene Dateien> python meinskript.py<br />
Linux: ~/user/python$ python3.1 meinskript.py<br />
• Kommentare werden durch das Zeichen # eingeleitet.<br />
• ZulangeCodezeilen können<strong>mit</strong>einenBackslash\unterbrochenundaufdernächsten<br />
Zeile fortgesetzt werden.<br />
• Mehr Hilfe findet man im Internet unter docs.python.org/py3k.<br />
2. Variablen und Zuweisungen<br />
Variablen muss vor der ersten Verwendung ein Wert zugewiesen werden. (a = 5.2)<br />
Eine Neuzuweisung überschreibt die bisherige Zuweisung. (a = ’Ein Text’)<br />
Den Variablen können beliebige Objekte (Zahlen, Zeichenketten, Listen, Funktionen, ...)<br />
zugewiesen werden.<br />
Variablen dürfen weder <strong>mit</strong> einer Ziffer beginnen noch Sonderzeichen enthalten. Umlaute<br />
sind möglich, wenn sie korrekt UTF-8-codiert sind.<br />
3. Arithmetische Operationen<br />
+ Summe<br />
- Differenz<br />
* Produkt<br />
/ Division<br />
** Potenzieren % Divsionsrest<br />
// ganzzahlige Division<br />
4. Wahrheitswerte und logische Ausdrücke<br />
Die Konstanten True und False stellen die beiden Wahrheitswerte dar.<br />
== gleich != ungleich<br />
= grösser gleich<br />
< kleiner als > grösser als<br />
not bindet stärker als and und and bindet stärker als or.<br />
not logische Verneinung<br />
and logisches UND<br />
or logisches ODER<br />
1
5. Verzweigungen<br />
einfache Verzweigung<br />
einfache Verzweigung<br />
<strong>mit</strong> Alternative<br />
mehrfache Verzweigung<br />
if bedingung:<br />
Block, wenn bedingung wahr<br />
if bedingung:<br />
Block, wenn bedingung wahr<br />
else:<br />
Block, wenn bedingung falsch<br />
if bedingung1:<br />
Block, wenn bedingung1 wahr ist<br />
erfüllt ist<br />
elif bedingung2:<br />
Block, wenn bedingung2 wahr ist<br />
...<br />
else:<br />
Block, wenn alle obigen<br />
Bedingungen falsch sind<br />
Jeder Block muss um eine feste Anzahl Leerzeichen (normalerweise 4) eingerückt sein.<br />
6. Schleifen<br />
indexgesteuerte for-Schleife<br />
listengesteuerte for-Schleife<br />
while-Schleife<br />
Abbruch der Schleife<br />
Abbruch des aktuellen Durchlaufs<br />
und Eintritt in den nächsten<br />
Durchlauf.<br />
Endlos-Schleife<br />
for i in range(0, n):<br />
Block wird <strong>mit</strong><br />
i=0, 1, ... n-1 durchlaufen<br />
for element in liste:<br />
Block wird für jedes<br />
element von liste durchlaufen<br />
while bedingung:<br />
Block wird so lange ausgeführt,<br />
wie bedingung wahr ist<br />
break<br />
continue<br />
while True:<br />
Block<br />
if bedingung:<br />
break<br />
Jeder Block muss um eine feste Anzahl Leerzeichen (normalerweise 4) eingerückt sein.<br />
Variablen, die innerhalb eines Schleifenblocks definiert werden, sind nur lokal gültig. Dasselbe<br />
gilt für die Laufvariable einer for-Schleife.<br />
2
7. Ein- und Ausgabe<br />
print(obj1, obj2, ...) Gibt die Objekte, durch ein Leerzeichen getrennt auf der<br />
Konsole aus. Mit sep=’...’ kann ein anderes<br />
Trennzeichen und <strong>mit</strong> end=’...’ ein anders <strong>String</strong>ende<br />
angegeben werden.<br />
input(text) Fordert den Benutzer <strong>mit</strong> text zu einer Eingabe auf<br />
und liefert diese als <strong>String</strong> zurück.<br />
int(string) Wandelt einen passenden string in eine ganze Zahl um.<br />
float(string)<br />
dd = open(name, ...)<br />
dd.read()<br />
dd.readline()<br />
dd.write(data)<br />
dd.close()<br />
8. Listen<br />
Wandelt einen passenden string in eine<br />
Fliesskommazahl um.<br />
Öffnet die Datei <strong>mit</strong> dem <strong>String</strong> name zum Lesen<br />
(mode=’r’), Schreiben (mode=’w’) oder Anhängen<br />
(mode=’a’) und liefert einen Dateideskriptor zurück, der<br />
für das Lesen bzw. Schreiben der Datei benötigt wird.<br />
Bei Binärdateien stellt man ein ’b’ vor das<br />
Moduszeichen.<br />
Andere Codierung: z.B. encoding=’iso-8859-1’.<br />
Liefert den gesamten Inhalt der Datei <strong>mit</strong> dem<br />
Deskriptor dd.<br />
Liefert eine Zeile der Datei <strong>mit</strong> dem Deskriptor dd.<br />
Schreibt die Daten (<strong>String</strong> oder Binärdaten) in die Datei<br />
<strong>mit</strong> dem Deskriptor dd.<br />
Schliesst die Datei <strong>mit</strong> dem Deskriptor dd.<br />
Die Elemente der Liste L = [e0, e1, ...] können von unterschiedlichem Typ oder selber<br />
wieder eine Liste sein. Die Indizierung der Elemente beginnt bei Null.<br />
L[i]<br />
L[-i]<br />
L[i:j]<br />
L[i:]<br />
L[:j]<br />
L[:]<br />
Liefert das Element <strong>mit</strong> dem Index i zurück.<br />
Liefert das Element <strong>mit</strong> dem Index n-i zurück.<br />
Liste aus L[i], L[i+1], ..., L[j-1]<br />
Liste aus L[i], L[i+1], ..., L[n-1]<br />
Liste aus L[0], L[1], ..., L[j-1]<br />
Synonym für die Liste L<br />
[] die leere Liste<br />
len(L)<br />
Funktion, welche die Anzahl Elemente der Liste zurückgibt.<br />
L.append(obj) Fügt das Objekt obj am Ende der Liste an.<br />
L.pop(i)<br />
L.reverse()<br />
sorted(L)<br />
Entfernt das Element <strong>mit</strong> dem Index i aus der Liste.<br />
Kehrt die Reihenfolge der Elemente an Ort und Stelle um.<br />
Liefert die sortierte Liste L zurück.<br />
3
9. Funktionen<br />
ohne Argumente, ohne Rückgabewert def funktionsname():<br />
Block (Funktionsrumpf)<br />
<strong>mit</strong> Argumenten, ohne Rückgabewert def funktionsname(p1, p2, ...):<br />
Block (Funktionsrumpf)<br />
<strong>mit</strong> Argumenten, <strong>mit</strong> Rückgabewert def funktionsname(p1, p2, ...):<br />
Block (Funktionsrumpf)<br />
return wert<br />
Variablen, die innerhalbeines Funktionsrumpfs neudefiniert werden, sindnur lokal gültig.<br />
Dasselbe gilt für die Funktionsparameter p1, p2, ....<br />
Mit return kann nur ein einzelner Wert zurückgegeben werden. Diese Einschränkung<br />
lässt sich umgehen, indem die Werte in einer Liste oder einer anderer Datenstruktur<br />
zusammengefasst werden.<br />
10. Zeichenketten<br />
Zeichenketten werden durch ’...’, "...", ’’’...’’’ oder """...""" gekennzeichnet.<br />
Sonderzeichen und Escape-Sequenzen:<br />
\’ Hochkomma (innerhalb <strong>String</strong>)<br />
\" Anführungszeichen (innerhalb <strong>String</strong>)<br />
\\ Backslash-Zeichen<br />
\n newline-Zeichen<br />
\t horizontaler Tabulator<br />
Funktionen und Operatoren<br />
len(s)<br />
list(s)<br />
str(obj)<br />
ord(zeichen)<br />
s1 + s2<br />
n * s<br />
Gibt die <strong>String</strong>länge zurück.<br />
Gibt die Liste der einzelnen Zeichen zurück.<br />
Gibt eine Druckbare Darstellung des Objekts obj zurück.<br />
Gibt eine ganze Zahl <strong>mit</strong> der Unicode-Nummer von zeichen<br />
zurück.<br />
Gibt die Verkettung der <strong>String</strong>s s1 und s2 zurück.<br />
Gibt das n-fache des <strong>String</strong>s s zurück.<br />
<strong>Methoden</strong>:<br />
s.capitalize()<br />
s.count(t,<br />
start, end)<br />
s.encode(<br />
encoding,<br />
err)<br />
Liefert eine Kopie der Zeichenkette s zurück, bei der der erste<br />
Buchstabe ein Grossbuchstabe ist.<br />
ZähltdieVorkommendes<strong>String</strong>stim<strong>String</strong>s.Optionalkann<br />
ein Bereich <strong>mit</strong> start und end angegeben werden.<br />
Liefert ein Bytes-Objekt in der Standardcodierung oder in<br />
der optional angegebenen encoding zurück. Das optionale<br />
Argument err regelt den Fehlerfall. Mögliche Codierungen<br />
sind: us-ascii, latin-1, utf-8, ...<br />
4
s.find(t,<br />
start, end)<br />
Liefert die erste (am weitesten links stehende) Position, an<br />
der der <strong>String</strong> t im <strong>String</strong> s vorkommt. Optional kann ein<br />
Bereich angegeben werden. Die Methode gibt -1 zurück, falls<br />
der <strong>String</strong> t in s nicht vorkommt. Analog liefert rfind(...)<br />
die letzte Position, an der der <strong>String</strong> t im <strong>String</strong> s vorkommt.<br />
s.format(arg1,<br />
arg2, ...)<br />
s.join(seq)<br />
s.lower()<br />
s.replace(t,<br />
u,<br />
n)<br />
s.split(t, n)<br />
Liefert eine Kopie des <strong>String</strong>s, wobei die Ersetzungfelder {0},<br />
{1}, ... im <strong>String</strong> s durch passend formatierte Werte der<br />
entsprechedenden Argumente ersetzt werden.<br />
Liefert die Konkatenation (Verkettung) jedes Elements in der<br />
Folge seq zurück, wobei zwischen den Elementen der Folge<br />
jeweils die Zeichenkette s eingefügt wird.<br />
Liefert eine Kopie von s in Kleinbuchstaben zurück.<br />
Liefert eine Kopie der Zeichenkette s zurück, wobei jedes Vorkommen<br />
des <strong>String</strong>s t durch den <strong>String</strong> u ersetzt wird. Die<br />
maximale Anzahl Ersetzungen kann durch das optionale Argument<br />
n begrenzt werden.<br />
Liefert eine Liste von Teilstrings von s zurück, die durch das<br />
Trennzeichen t enstehen. Optional kann eine maximale Anzahl<br />
n von Aufspaltungen angegeben werden.<br />
s.strip(zeichen) Liefert eine Kopie des <strong>String</strong>s s zurück, bei der links und<br />
rechts die Whitspaces (Leerzeichen, Tabulatoren und Zeilenschaltungen)<br />
entfernt sind. Optional kann ein <strong>String</strong> zeichen<br />
angegeben werden dessen Zeichen (in beliebiger Reihenfolge)<br />
links und rechts entfernt werden. s.lstrip(zeichen) entfernt<br />
nur links und s.rstrip(zeichen) entfernt nur rechts.<br />
s.upper()<br />
s.zfill(laenge)<br />
Liefert eine Kopie von s in Grossbuchstaben zurück.<br />
Füllt eine Zeichenkette <strong>mit</strong> Nullen zur Gesamtlänge laenge<br />
auf.<br />
In <strong>Python</strong> sind Zeichenketten unveränderliche Objekte. Daher ist bei <strong>Methoden</strong>, die eine<br />
Zeichenkette verändern, eine Neuzuweisung nötig.<br />
11. Module verwenden<br />
import modulname<br />
modulname.methode(...)<br />
modulname.attribut<br />
Lädt das Modul modulname.<br />
Um die <strong>Methoden</strong> und Attribute des Moduls zu<br />
verwenden, muss jeweils der Modulname vorangestellt<br />
werden. Beispiele: math.sqrt(2.5), math.pi<br />
5
12. Dictionaries<br />
Ein Dictionary ist eine Datenstruktur, die Daten in Formvon Schlüssel-Wert-Paaren speichert:d<br />
= {key1: value1, key2: value3, ...}.AlsSchlüssel kommenunveränderliche<br />
Datentypen wie Zeichenketten, Tupel oder Zahlenkonstante in Frage.<br />
d[key] = obj Speichert obj als Wert zum Schlüssel key im Dictionary d.<br />
d[key]<br />
len(d)<br />
Gibt den Wert <strong>mit</strong> dem Schlüssel key aus d zurück.<br />
Gibt die Anzahl Schlüssel-Wert-Paare zurück.<br />
del d[key] Löscht das Schlüssel-Wert-Paar <strong>mit</strong> key aus d.<br />
key in d<br />
Testet, ob key ein Schlüssel in d ist.<br />
key not in d Testet, ob key kein Schlüssel in d ist.<br />
d.clear() Löscht alle Schlüssel-Wert-Paare in d.<br />
d.items()<br />
d.keys()<br />
d.values()<br />
d.pop(key)<br />
Liefert eine Sicht über alle Schlüssel-Wert-Paare. (iterierbar)<br />
Liefert eine Sicht über alle Schlüssel. (iterierbar)<br />
Liefert eine Sicht über alle Werte. (iterierbar)<br />
Löscht das Schlüssel-Wert-Paar <strong>mit</strong> dem Schlüssel key und<br />
liefert den Wert zurück.<br />
Bei Dictionaries wird eine spezielles Verfahren angewendet, um die Schlüssel-Wert-Paare<br />
effizient im Computer zu speichern. Aus diesem Grund werden die Daten von Dictionaries<br />
in einer willkürlich anmutenden Reihenfolge ausgegeben.<br />
6