Home

Python-Glossar

Das nachfolgende Glossar enthält eine Sammlung von wichtigen Begriffen sowohl aus der Programmierung allgemein als auch speziell im Umgang mit Python.

Assignment Expression

Assignment Expressions (PEP 572) ermöglichen, einer Variable innerhalb eines Ausdrucks einen Wert zuzuweisen. An der entsprechenden Stelle wird ein Doppelpunkt mit einem Gleichheitszeichen kombiniert. Daher nennt man den Operator auch Walross-Operator. Dies kann beispielsweise Redundanz in Kontrollstrukturen verringern.

if (n := 7) > 5:
    print(f"Die Zahl {n} ist größer als 5.")

while line := file.readline():
    process_line(line)
Ausdruck

Ein Ausdruck ist eine Kombination von Werten, Variablen, Operatoren und Funktionsaufrufen, die zu einem Wert ausgewertet werden kann. Eine einzelne Konstante ist ebenso ein Ausdruck wie ein komplizierter Funktionsaufruf. Im Gegensatz zu einer Zuweisung gibt ein Ausdruck einen Wert zurück.

>>> 1 + 2
3

>>> sum([1, 2, 3])
6

>>> "Hallo" + " " + "Welt!"
'Hallo Welt!'
Datentyp

Ein Datentyp definiert, welche Art von Wert eine Variable speichert. Der Datentyp gibt Auskunft darüber, welche Operationen in Verbindung mit der Variable unterstützt werden. Python ist dynamisch typisiert. Das bedeutet, dass der Datentyp weder deklariert werden noch konstant sein muss. Die Verwendung von Typ-Annotationen zur expliziten Angabe des Datentyps ist für die leichtere Entwicklung und Wartbarkeit empfehlenswert.

>>> type(1)
int

>>> type(1.0)
float

>>> type({})
dict

>>> type(True)
bool

>>> type(None)
NoneType
Dictionary

Dictionaries (Video) speichern Paare aus Schlüsseln und Werten. Sie sind in Python als Hash-Tabellen implementiert (FAQ), sodass der Zugriff auf Schlüssel und Werte unabhängig von der Größe des Dictionaries ist.

d = {"name": "Max", "is_student": True}

# Setzen einzelner Werte
d["age"] = 42

# Abrufen einzelner Werte
d["name"] # "Max"

# Abrufen eines Werts mit Standardwert
d.get("is_student", False) # True

# Entfernen und Ausgeben eines Werts
d.pop("is_student") # True

# Setzen mehrerer Werte
d.update({"name": "Peter", "age": 38})
Funktion

Funktionen (Video) erlauben die Strukturierung von Code in wiederverwendbare, modulare Einheiten. Sie erlauben, Probleme in kleinere Teile zu zerlegen und diese unabhängig voneinander zu bearbeiten. Python bietet zahlreiche Standardfunktionen (Docs).

def greet(name):
    return f"Hallo {name}!"

greet("Anna") # 'Hallo Anna!'
Iteration

Bei der Iteration (Video) wird eine Gruppe von Anweisungen wiederholt ausgeführt. In Python können iterierbare Objekte mithilfe von for und while in Schleifen durchlaufen werden. Bei Dictionaries werden die Schlüssel iteriert, mithilfe von dict.items() Schlüssel und Werte paarweise. continue springt zum nächsten Iterationsschritt, break beendet die komplette Schleife.

# Die beiden Schleifen sind äquivalent
# Output: 0, 1, 2, 3, ... n-1

for i in range(n):
    print(i)

i = 0
while i < n:
    print(i)
    i += 1
Liste

In Python sind Listen (Video) als Arrays mit variabler Länge implementiert (FAQ). Die Liste speichert Pointer auf die Elemente der Liste. Dadurch erlaubt die Liste den Zugriff auf Elemente über den Index in konstanter Zeit, aber gleichzeitig auch die Speicherung von Elementen unterschiedlicher Datentypen.

l = ["my", "list"]

l[0] # 'my'

# am Ende einfügen
l.append("has") # None

# an zweiter Stelle einfügen
l.insert(1, "new") # None

# mehrere Elemente einfügen
l.extend(["many", "elements"]) # None

# letztes Element entfernen
l.pop()
Klammern

In Python haben runde, eckige und geschweifte Klammern verschiedene Bedeutungen, abhängig vom Kontext. Runde Klammern werden für Funktionsaufrufe und zur Erstellung von Tupeln verwendet. Eckige Klammern dienen zur Erstellung von Listen und zum Slicing. Mit geschweiften Klammern werden Dictionaries und Sets erstellt.

# Liste erstellen
l = ["my", "list"]

# Tupel erstellen
t = ("my", "tuple")

# Slicing
l[0] # 'my'

# Funktion aufrufen
len(l) # 2

# Dictionary erstellen
d = {"key": "value"}

# Set erstellen
s = {"my", "set"}
None

In Python bezeichnet None ein spezielles Objekt, um darzustellen, dass eine Variable keinen Wert hat. Funktionen geben zudem None zurück, wenn kein expliziter Rückgabewert definiert wurde.

Typ-Annotationen

Typ-Annotationen sind in Python optional. Sie helfen, den Code durch durch explizite Angabe von Typen robuster zu machen. Werkzeuge wie VSCode können die Typ-Annotationen zur Autovervollständigung nutzen und Bibliotheken zur statischen Codeanalyse können Typfehler frühzeitig erkennen.

def add(a: int, b: int) -> int:
    return a + b

def greet(name: str) -> str:
    return f"Hallo, {name}!"
Set

Mengen sind Zusammenfassungen von Objekten ohne Wiederholungen. Mengen verhalten sich ähnlich wie Schlüssel von Dictionaries, allerdings ohne dazugehörige Werte.

# Erstellen einer leeren Menge
>>> s = set()

# Hinzufügen von Elementen
>>> s.add("a")
>>> s.add("b")

# alternative Erstellung einer nichtleeren Menge
>>> s = {"a", "b"}

# Prüfung der Zugehörigkeit
>>> "a" in s
True
Unpacking

In Python lassen sich Werte mit dem * und ** zusammenfassen und entpacken. Die Operatoren können sowohl bei Zuweisungen als auch bei Funktionen verwendet werden.

>>> first, last = [1, 2]

# Der Rest wird in `other` gespeichert
>>> first, *other = [1, 2, 3]

# Die mittleren Elemente werden in `other` gespeichert
>>> first, *other, last = [1, 2, 3, 4, 5]

# Die Elemente der beiden Listen werden zusammengefasst
>>> [*[1, 2], *[3, 4]] == [1, 2, 3, 4]
True

# Die Elemente der beiden Dictionaries werden zusammengefasst
>>> {**{"a": 1}, **{"b": 2}}  == {"a": 1, "b": 2}
True
Variable

In Python sind Variablen (Video) Namen, die eine Referenz auf einen Wert speichern. Datentyp und Wert können sich während der Laufzeit ändern. Gültige Namen für Variablen bestehen aus Buchstaben, Zahlen und Unterstrichen, dürfen aber nicht mit einer Zahl beginnen.

name = "Max"

age = 42

is_student = True
Software

Software besteht aus Programmen und Dokumentation. Gute Software erfüllt die Anforderungen an Funktionalität und Leistungsfähigkeit und ist wartbar, verständlich dokumentiert, leicht einsetzbar und erweiterbar. Software kann mithilfe vieler verschiedener Ansätze entwickelt werden, darunter das klassische Wasserfallmodell und die agile Entwicklung.

Beim Wasserfallmodell werden die Entwicklungsschritte wie Spezifikation, Design, Implementierung und Testen nacheinander abgearbeitet. Die agile Entwicklung erfolgt in Iterationen, innerhalb derer einzelne Teile der Anwendung umgesetzt werden, deren Evaluation in die weitere Planung einfließt.

String

Ein String (str, Think Python) ist eine Zeichensequenz, die durch umgebende Anführungszeichen gekennzeichnet wird. Neben Methoden zur Textverarbeitung können Strings auch iteriert werden, das heißt sie lassen sich wie Listen behandeln.

Zur Formatierung von Strings bietet die Methode str.format() zahlreiche Konfigurationsmöglichkeiten. Besonders das Modul re kann beim Suchen und Ersetzen von Zeichensequenzen in Texten hilfreich sein, beispielsweise bei der Aufbereitung von Texten für maschinelles Lernen.

# Einfache und doppelte Anführungszeichen sind gleichbedeutend
>>> greeting = "Hallo"
>>> name = 'Tim'

# Strings können konkateniert werden
>>> greeting + " " + name + "!"
'Hallo Tim!'

# f-Strings erlauben die Zusammensetzung komplizierterer Strings
>>> f"{greeting} {name}, wie geht es dir?"
'Hallo Tim, wie geht es dir?'
Zahl

Zahlen gehören zu den primitiven Datentypen in Python. Es gibt verschiedene Zahlentypen, darunter die am häufigsten verwendeten, int für ganze Zahlen und float für Fließkommazahlen. Python bietet zudem weitere Module wie decimal für die präzise Verarbeitung von Dezimalzahlen an.

>>> 3 + 7 # int
10

>>> 7 / 3 # float
3.5

>>> 0.1 + 0.2 == 0.3 # Fließkommazahlen sind nicht immer genau
False
Zuweisung

Bei einer Zuweisung wird einem Variablennamen ein Wert zugeordnet. Auf der linken Seite der Zuweisung steht der Variablenname, auf der rechten ein Ausdruck.

x = 1

y = a > b

z = "Hallo"