02.01.2015 Aufrufe

Python-Kurzreferenz (neue Version mit String-Methoden)

Python-Kurzreferenz (neue Version mit String-Methoden)

Python-Kurzreferenz (neue Version mit String-Methoden)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!