4.5 Fertige Funktionalitäten verwenden
Hier lernen wir einen kleinen Ausschnitt der Mächtigkeit der Programmiersprache Python kennen.
🧰 Eingebaute Funktionen in Python
Python bietet eine Vielzahl eingebauter Funktionen, die häufige Aufgaben erleichtern. Im Folgenden sind einige dieser Funktionen thematisch gruppiert mit ihren Parametern und Anwendungsbeispielen aufgeführt.
Iteration
Funktion | Parameter | Beschreibung | Beispiel |
---|---|---|---|
range() |
start (optional), stop , step (optional) |
Erzeugt eine Sequenz von Zahlen von start bis stop (exklusiv) mit dem Schritt step . |
range(1, 10, 2) erzeugt [1, 3, 5, 7, 9] |
Umwandlungen
Funktion | Beschreibung | Beispiel |
---|---|---|
int() |
Wandelt in eine Ganzzahl um. | int('10.6') gibt 10 zurück |
float() |
Wandelt in eine Gleitkommazahl um. | float('3.14') gibt 3.14 zurück |
str() |
Wandelt in eine Zeichenkette um. | str(100) gibt '100' zurück |
bool() |
Wandelt ein Element in einen Booleschen Wert um. | bool(1) gibt True zurück |
list() |
Wandelt in eine Liste um. | list('abc') gibt ['a', 'b', 'c'] zurück |
dict() |
Erstellt ein Wörterbuch. | dict(a=1, b=2) gibt {'a': 1, 'b': 2} zurück |
join() |
Verbindet eine Liste von Strings zu einem String mit einem Trennzeichen. | ' '.join(['Hallo', 'Welt']) gibt 'Hallo Welt' zurück |
split() |
Zerlegt einen String anhand eines Trennzeichens in eine Liste von Teilstrings. | 'MicroPython ist großartig'.split(' ') gibt ['MicroPython', 'ist', 'großartig'] zurück |
Aggregation und Reduktion
Funktion | Beschreibung | Beispiel |
---|---|---|
sum() |
Gibt die Summe der Elemente zurück. | sum([1, 2, 3]) gibt 6 zurück |
min() |
Gibt das kleinste Element zurück. | min(3, 1, 2) gibt 1 zurück |
max() |
Gibt das größte Element zurück. | max(3, 1, 2) gibt 3 zurück |
all() |
Gibt True zurück, wenn alle Elemente wahr sind. |
all([True, True, False]) gibt False zurück |
any() |
Gibt True zurück, wenn mindestens ein Element wahr ist. |
any([False, False, True]) gibt True zurück |
Sonstige Funktionen
Funktion | Beschreibung | Beispiel |
---|---|---|
strip() |
Löscht Leerzeichen am Anfang und Ende eines Strings, z.B. bei input() |
eingabe = strip(input()) |
len() |
Gibt die Anzahl der Elemente zurück. | len([1, 2, 3]) gibt 3 zurück |
type() |
Gibt den Typ eines Elements zurück. | type(42) gibt <class 'int'> zurück |
abs() |
Gibt den absoluten Wert einer Zahl zurück. | abs(-5) gibt 5 zurück |
round() |
Rundet eine Zahl auf die angegebene Anzahl von Dezimalstellen. | round(3.14159, 2) gibt 3.14 zurück |
sort() |
Sortiert eine Liste direkt (in-place), d. h., die ursprüngliche Liste wird verändert. | Siehe Beispiel unten |
sorted() |
Gibt eine neue, sortierte Liste zurück, ohne die ursprüngliche Liste zu verändern. Dies ist besser und stabiler! | Siehe Beispiel unten |
map() |
Wendet eine Funktion auf jedes Element eines iterierbaren Objekts an. | list(map(str, [1, 2, 3])) gibt ['1', '2', '3'] zurück |
Beispiel sort() und sorted()
Ausgabe:
Sortiert (In-Place): [1, 2, 3, 5, 8]
Rückwärtssortiert (In-Place): [8, 5, 3, 2, 1]
OriginalListe: [7, 4, 9, 3, 6]
Sortierte Liste: [3, 4, 6, 7, 9]
Rückwärtssortierte Liste: [9, 7, 6, 4, 3]
Nerdwissen map()
Funktion | Beschreibung | Beispiel |
---|---|---|
map() |
Wendet eine Funktion auf jedes Element eines iterierbaren Objekts an. | Siehe Beispiel unten |
Schauen Sie sich das Beispiel in Ruhe an, denn map() ist richtig gut!
Ausgabe:
OriginalList: [1, 2, 3, 4, 5]
SquaredList: [1, 4, 9, 16, 25]
🧪 Listen in Strings umwandeln und umgekehrt in MicroPython
In MicroPython, wie auch in Python, ist die Konvertierung zwischen Listen und Zeichenketten eine häufige Aufgabe. Im Folgenden werden Methoden vorgestellt, um Listen in Strings und umgekehrt umzuwandeln.
Liste in String umwandeln
Um eine Liste von Zeichenketten in einen einzelnen String zu konvertieren, verwendet man die Methode join()
. Diese Methode verbindet die Elemente der Liste zu einem String, wobei ein spezifisches Trennzeichen zwischen den Elementen eingefügt wird. Im folgenden Beispiel werden die Elemente der Liste wortListe
mit einem Leerzeichen verbunden. Das Ergebnis ist der String 'Hallo Welt von MicroPython'
.
Ausgabe:
Hallo Welt von MicroPython
Hinweis: Die Methode join()
erwartet, dass alle Elemente der Liste vom Typ str
sind. Falls die Liste andere Datentypen enthält, müssen diese zuvor in Strings umgewandelt werden.
Temperatur: 23 Grad
Nerdwissen for-Schleife in einer Zeile
Folgende Scripte erzeugen die gleiche Ausgabe.
String in Liste umwandeln
Um einen String in eine Liste von Teilstrings zu zerlegen, verwendet man die Methode split()
. Diese Methode teilt den String an einem angegebenen Trennzeichen und gibt die Teilstrings als Listenelemente zurück. Wenn kein Trennzeichen an split()
übergeben wird, wird standardmäßig an Leerzeichen, Tabulatoren und Zeilenumbrüchen aufgeteilt.
Ausgabe:
['MicroPython', 'ist', 'großartig']
Zeichenkette in Liste von Zeichen umwandeln:
Um einen String in eine Liste von einzelnen Zeichen zu zerlegen, kann die Funktion list()
verwendet werden.
Beispiel:
Ausgabe: ['M', 'i', 'c', 'r', 'o', 'P', 'y', 't', 'h', 'o', 'n']
In diesem Fall wird der String wort
in seine einzelnen Zeichen zerlegt und als Liste zurückgegeben.
Diese Methoden ermöglichen eine flexible Handhabung von Strings und Listen in MicroPython und sind nützlich für verschiedene Anwendungsfälle, wie z. B. das Parsen von Eingaben oder das Formatieren von Ausgaben.
Folgende Python-Funktionen haben wir somit kennen gelernt:
Funktion | Beschreibung | Beispiel | Ausgabe |
---|---|---|---|
join() |
Verbindet eine Liste von Strings zu einem einzelnen String mit einem definierten Trennzeichen. | ' '.join(['Hallo', 'Welt']) |
'Hallo Welt' |
split() |
Zerlegt einen String in eine Liste von Teilstrings anhand eines definierten Trennzeichens. | 'MicroPython ist großartig'.split(' ') |
['MicroPython', 'ist', 'großartig'] |
list() |
Wandelt einen String in eine Liste einzelner Zeichen um. | list('MicroPython') |
['M', 'i', 'c', 'r', 'o', 'P', 'y', 't', 'h', 'o', 'n'] |
📝 Aufgabe: Kombination von Zahlenlisten addieren
Übung
Gegeben sind zwei Listen von Zahlen:
Schreibe ein Programm, das jede Zahl aus NumberA
mit jeder Zahl aus NumberB
kombiniert und die Summe ausgibt. Die Ausgabe soll das Format 1 + 5 = 6
haben.
Erwartete Ausgabe:
1 + 5 = 6
1 + 6 = 7
2 + 5 = 7
2 + 6 = 8
🎲 Arbeiten mit Zufallszahlen - Lottozahlen 6 aus 49
Versuchen Sie den Soucecode zu verstehen.
Nerdwissen Eine kleine Knobelaufgabe...
Wie funktioniert dieser Sourcecode?
Wenn man nicht weiterkommt, dann kann man immer konkrete Werte einsetzen (und sich zum Beispiel auch Zufallszahlen ausdenken). Schwierige Zeilen durch das Hinzuziehen der Dokumentation (oder ChatGPT, wobei die Dokumentation für das tiefere Verständnis oft der bessere Weg ist). Im Sourcecode unten hatten wir z.B. range() noch nicht mit drei Argumenten. Die Dokumentation zu range() findet sich hier.