Python Cheat-Sheet
Eine Zusammenfassung der wichtigsten Python-Elemente.
Es gibt aber online jede Menge solcher Cheat-Sheets, z.B.
Wiederholungen
for-Schlaufe
mit range
for i in range(10): # i läuft von 0 bis und mit 9 (10 Wiederholungen) print(i) for i in range(10,30): # i läuft von 10 bis und mit 29 (30-10=20 Wiederholungen) print(i) for i in range(10,97,5): # i läuft in 5-er Schritten von 0 bis und mit 95. Anzahl Wiederholungen: Aufgerundet((97-10)/5)=Aufgerundet(17.4)=18 print(i)
mit String
for buchstabe in "abcde": # Alle Zeichen eines Strings durchgehen print(buchstabe)
mit Array
for element in [2,3,5,7,11,13,17]: # Alle Einträge in einem Array durchgehen print(element) for index, element in enumerate([2,3,5,7,11,13,17]): print("%d. Primzahl ist %d" % (index+1,element))
while-Schlaufe
i = 0 while i<1000: # Wiederholen, so lange wie i<1000 i=1+i*2 print(i) # Gibt ein Resultat >=1000 aus, sonst würde weiter wiederholt.
break und continue
break
verlässt die innerste while- oder for-Schlaufecontinue
springt sofort wieder an den Anfang der Schlaufe und beginnt die nächste Wiederholung
for i in range(20): if i==10: break print(i) # Zeigt nur bis 9 an, dann wir die Schleife vorzeitig beendet for i in range(10): if i>4 and i<8: continue print(i) # Zeigt die Werte 5 bis 7 nicht an.
Arrays und Tuples
Arrays werden mit []
notiert und deren Einträge können machträglich modifiziert werden. Tuples werden mit ()
geschrieben und können nicht mehr modifiziert werden.
Der Zugriff auf einzelne Elemente erfolgt immer mit [index]
, der von 0 bis Anzahl Element -1 läuft.
a = [10,20,30,40] b = [10*(i+1) for i in range(4)] # ergibt das Gleiche wie a print(a[1]) # gibt 20 aus a[1]=42 print(a) # Gibt [10,42,30,40] aus a.append(123) # Fügt Element hinten an print(len(a)) # Gibt 5 aus (Anzahl Elemente, Länge der Liste) c = a[2:] # Unterliste ab 3. Element c = a[:2] # Unterliste bis und mit 2. Element c = a[0::2] # Jedes zweite Element c = a[::-1] # Liste in umgekehrter Reihenfolge
Strings
a = "Hallo Welt!" print(len(a)) # Länge vom String (in Python3 als Anzahl Unicode-Zeichen). b = (a+" ")*5 # Ergibt "Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! " w = a[6:-1] # Ergibt "Welt" (ohne '!', weil das letzte Zeichen (-1) nicht mehr dazu gehört). w = a[::-1] # Ergibt "!tleW ollaH" w = a.upper() # Ergibt "HALLO WELT!" ord("A") # Ergibt 65 (ASCII-Code vom Buchstaben A) chr(65) # Ergbit "A" (Buchstaben mit ASCII-Code 65)
Formatierte Ausgabe mit %
Der generelle Syntax ist
String % Liste
und kann auch ausserhalb eines Print-Statements stehen.
print("%d %%-Zeichen werden als eines ausgegeben" % 2) # Ganzzahlen: for f in ["%d", "%6d", "%06d", "%x"]: print(("%"+f+"\t->"+f+"<-") % 42) # Komma-Zahlen for f in ["%f", "%.2f", "%16.3f", "%.20f"]: print(("%"+f+"\t->"+f+"<-") % 123.123456789012345678)
Produziert folgende Ausgabe:
2 %-Zeichen werden als eines ausgegeben %d ->42<- %6d -> 42<- %06d ->000042<- %x ->2a<- %f ->123.123457<- %.2f ->123.12<- %16.3f -> 123.123<- %.20f ->123.12345678901235146441<-
Zufallszahlen
import random print("Kommazahlen zwischen 0.0 und 1.0:") print([random.random() for i in range(10)]) print("\nGanze Zahlen zwischen 0 und 5 inklusive:") print([random.randrange(6) for i in range(10)]) print("\nGanze Zahlen zwischen 10 und 12 inklusive:") print([random.randrange(10,13) for i in range(10)]) print("\nGerade Zahlen zwischen 10 und 20 inklusive:") print([random.randrange(10,21,2) for i in range(10)])
produziert z.B. folgende Ausgabe
Kommazahlen zwischen 0.0 und 1.0: [0.0658331907830767, 0.17311707165395052, 0.6098956790313563, 0.1789626410595354, 0.3998799536654055, 0.5395436735329359, 0.07010297234318463, 0.5109469379374929, 0.7800799669858436, 0.4829877816106407] Ganze Zahlen zwischen 0 und 5 inklusive: [1, 4, 0, 4, 5, 1, 0, 5, 1, 1] Ganze Zahlen zwischen 10 und 12 inklusive: [12, 11, 12, 11, 10, 10, 10, 12, 11, 11] Gerade Zahlen zwischen 10 und 20 inklusive: [10, 18, 10, 12, 12, 10, 20, 12, 12, 20]