Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | ![]()
Stand: 2025-04-01
weitgehend formuliert von Claude 3.5 Sonnet, verbessert von ChatGPT
4o
Variablen: Behälter für Daten. Sie können verschiedene Werte speichern; diese können sich im Laufe des Programms ändern. ↗Datentypen ↗Referenz
Datentypen: Kategorien von Daten wie Zahlen, Zeichenketten, Booleans, Listen oder Klassen. Sie bestimmen, welche Operationen auf den Daten ausgeführt werden können. ↗Zahlen ↗Zeichenketten ↗Boolean ↗Liste ↗Klasse
Operatoren: Symbole für Operationen auf Variablen und Werten. Beispiele sind:
+, -,
*, /, // (Ganzzahldivision),
% (Modulo), ** (Potenz)==, !=,
<, >, <=,
>=and, or,
not=, +=,
-=, *= usw.Kommentare: Text im Code, der beim Ausführen
ignoriert wird. Dient dazu, den Code für Menschen verständlicher zu
machen. Einzeilige Kommentare beginnen mit #. Mehrzeilige
Kommentare werden oft als mehrere einzelne #-Zeilen
geschrieben. Alternativ kann man ungebundene Strings in dreifachen
Anführungszeichen ''' oder """ verwenden –
technisch keine echten Kommentare, aber sie werden ebenfalls ignoriert,
wenn sie nicht verwendet werden.
Einrückung: Leerzeichen am Anfang einer Codezeile. In Python bestimmt die Einrückung die Blockstruktur des Codes. ↗Kontrollstrukturen
Schlüsselwörter: Reservierte Wörter in Python
mit spezieller Bedeutung. Beispiele sind if,
for, while, def.
↗Kontrollstrukturen
↗Funktionen
Funktionen: Wiederverwendbare Codeblöcke, die eine bestimmte Aufgabe erfüllen. Sie können Parameter akzeptieren und Werte zurückgeben, müssen das aber nicht. ↗Parameter und Argumente ↗Rückgabewerte
Module: Dateien, die Python-Code enthalten. Sie werden verwendet, um Code zu organisieren und wiederzuverwenden. Beim ersten Import wird der Modulcode ausgeführt. ↗Module importieren
Packages: Verzeichnisse mit
__init__.py, die verwandte Module bündeln. Sie helfen,
große Projekte zu strukturieren.
Referenz: Ein Verweis auf ein Objekt im Speicher, wie ein Zeiger in C. In Python enthalten Variablen Referenzen auf Objekte, nicht die Objekte selbst. ↗Variablen ↗Objekt
if-elif-else: Bedingte Anweisungen, die es ermöglichen, Code basierend auf bestimmten Bedingungen auszuführen.
for-Schleife: Wird verwendet, um über eine Sequenz (z. B. Liste, Tupel, String) zu iterieren oder einen Codeblock eine bestimmte Anzahl von Malen zu wiederholen. ↗Liste ↗Tupel ↗Zeichenketten
while-Schleife: Führt einen Codeblock aus, solange eine bestimmte Bedingung wahr ist.
break und continue: break beendet
die aktuelle Schleife, continue springt zum nächsten
Schleifendurchlauf.
match: Strukturiertes Pattern Matching für
Verzweigungen basierend auf dem Wert eines Ausdrucks. Eine sehr
vielseitige Variante des switch-case der Programmiersprache
C.
pass: Platzhalteranweisung, die nichts tut. Nützlich als Platzhalter für noch zu implementierenden Code. Nötig, wenn nach einem Doppelpunkt nichts Eingerücktes folgen soll.
Zahlen (int, float, complex): Verschiedene
numerische Typen für ganze Zahlen, Dezimalzahlen und komplexe Zahlen.
Auch Zahlen sind Objekte mit eigenen Methoden (z. B.
bit_length(), is_integer()).
Zeichenketten (str): Sequenzen von Zeichen, in einfachen oder doppelten Anführungszeichen.
Boolean (bool): Logischer Datentyp mit den
Werten True oder False.
Enumeration (Enum): Ein Aufzählungstyp, der eine Gruppe benannter Konstanten definiert. Nützlich für die Darstellung einer festen Anzahl von möglichen Werten.
Liste (list): Geordnete, veränderbare Sammlung
von Elementen, definiert durch eckige Klammern [].
↗for-Schleife
Tupel (tuple): Geordnete, unveränderbare
Sammlung von Elementen, definiert durch runde Klammern ().
↗for-Schleife
Menge (set): Ungeordnete Sammlung einzigartiger
Elemente, definiert durch geschweifte Klammern {} bzw. für
die leere Menge set().
Dictionary (dict): Sammlung von
Schlüssel-Wert-Paaren, definiert durch geschweifte Klammern und
Doppelpunkte {key: value}.
None: Spezieller Datentyp mit genau einem Wert:
None. Wird verwendet, um nichts
oder das Fehlen
eines Werts darzustellen. Vergleichbar mit NULL in C, aber
als echtes Objekt.
Type Hints: Typangaben, die mit einem
Doppelpunkt (:) und einem Pfeil (->)
erfolgen. Sie sind optional, helfen aber Tools wie IDEs und
mypy, Fehler frühzeitig zu erkennen. Zur Laufzeit haben sie
keine Wirkung, können aber über das typing-Modul verfeinert
werden. In C und vielen anderen Sprachen sind Typangaben
Pflicht.
Funktionsdefinition: Erstellung einer Funktion
mit dem Schlüsselwort def, gefolgt von Namen und
Parametern. ↗Funktionen
Parameter und Argumente: Parameter sind in der Funktionsdefinition, Argumente sind die tatsächlichen Werte, die übergeben werden. ↗Funktionen
Rückgabewerte: Werte, die eine Funktion mit dem
Schlüsselwort return zurückgibt.
↗Funktionen
Eingebaute Funktionen: Von Python
bereitgestellte Funktionen wie print(), len(),
range().
Module importieren: Verwendung des
Schlüsselworts import, um Code aus anderen Modulen zu
nutzen. ↗Module
Klasse: Bauplan für Objekte, definiert Attribute und Methoden. ↗Objekt ↗Attribut ↗Methoden
Objekt: Eine konkrete Instanz irgendeiner Klasse. ↗Instanz
Instanz: Ein Objekt einer bestimmten Klasse. ↗Objekt
Attribut: Variable, die zu einer Klasse gehört. ↗Instanzattribut ↗Statisches Attribut
Instanzattribut: Ein Attribut, für das jede
Instanz der Klasse selbst einen Wert hat. Die übliche Art Attribut. Wird
typischerweise in __init__ angelegt.
↗Initialisierer
Statisches Attribut = Klassenattribut: Ein Attribut, dessen Wert nur einmal in der Klasse vorhanden ist.
Methoden: Funktionen, die zu einer Klasse gehören. ↗Instanzmethode ↗Statische Methode ↗Klassenmethode
Instanzmethode: Methode, die auf eine bestimmte Instanz der Klasse zugreift. Die übliche Art Methode. ↗self
self: Der erste Parameter in einer Definition (aber nicht beim Aufruf!) einer Instanzmethode. Diese Variable enthält eine Referenz auf die aktuell bearbeitete Instanz der Klasse. Ist nötig, um auf Attribute und Methoden dieser Instanz zuzugreifen. ↗Instanzmethode
Statische Methode: Methode, die zu einer Klasse
gehört, aber nicht direkt auf Instanz oder Klasse zugreift. Bekommt also
kein self.
Klassenmethode: Methode, die auf die Klasse
selbst statt auf eine Instanz zugreift. Der erste Parameter ist
üblicherweise cls.
Initialisierer: Spezielle Instanzmethode
__init__ zur Initialisierung neuer Objekte einer Klasse.
↗Instanzattribut
Vererbung: Mechanismus, durch den eine Klasse Attribute und Methoden einer anderen Klasse erbt. ↗Überschreiben
Überschreiben: Neudefinition einer geerbten Methode in einer abgeleiteten Klasse. ↗Vererbung
super(): Erlaubt, Instanzmethoden der Elternklasse aufzurufen. Besonders nützlich beim Vererben und beim Überschreiben, um erweitertes Verhalten einzubauen. ↗Vererbung
Polymorphie: Fähigkeit, verschiedene Formen anzunehmen; ermöglicht die Verwendung einer einheitlichen Schnittstelle für verschiedene Datentypen. Instanzen von Kindklassen können statt Instanzen von Elternklassen eingesetzt werden. ↗Vererbung
Abstrakte Klasse: Klasse, die nicht instanziiert werden kann und als Basis für andere Klassen dient. Nur eine abstrakte Klasse darf abstrakte Methoden enthalten. ↗Abstrakte Methode
Abstrakte Methode: Eine Methode, die in einer abstrakten Klasse deklariert, aber nicht implementiert wird. Unterklassen müssen diese Methoden implementieren oder werden selbst wieder abstrakt. ↗Abstrakte Klasse
Exceptions: Objekte, die Fehlerzustände repräsentieren. Sie unterbrechen den normalen Programmfluss. ↗try-except-Block
try-except-Block: Struktur zum Abfangen und Behandeln von Ausnahmen. ↗Exceptions ↗finally-Block
finally-Block: Code, der immer ausgeführt wird, unabhängig davon, ob eine Ausnahme auftritt oder nicht. ↗try-except-Block
raise: Schlüsselwort zum manuellen Auslösen einer Ausnahme. ↗Exceptions
Benutzerdefinierte Exceptions: Eigene Ausnahmeklassen, die von der Exception-Klasse erben. ↗Exceptions
List Comprehensions: Kompakte Weise, neue Listen basierend auf existierenden Listen zu erstellen. ↗Liste
Generator Expressions: Ähnlich wie List Comprehensions, aber erzeugen Werte im Fluge, speicherschonend. ↗List Comprehensions
sin(), cos(), sqrt() für
komplexere Berechnungen. ↗Module importieren