====== Python Cheat-Sheet ======
Eine Zusammenfassung der wichtigsten Python-Elemente.
Es gibt aber online jede Menge solcher Cheat-Sheets, z.B.
* https://betterprogramming.pub/10-must-have-python-cheatsheets-2b74e8097bc3
===== 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-Schlaufe
* ''continue'' 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]