====== 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]