Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung |
Stand: 2024-07-12
weitgehend formuliert von Claude 3.5 Sonnet
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 von beim Ausführen
ignoriert wird. Dient dazu, den Code für Menschen verständlicher zu
machen. Einzeilige Kommentare beginnen mit #
, mehrzeilige
stehen in dreifachen (einzelnen oder doppelten)
Anführungszeichen.
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. ↗Module importieren
Packages: Sammlungen verwandter Module. 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, Tuple, 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.
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, der nichts
oder keinen Wert
darstellt. Vergleichbar mit einem Nullzeiger in
C.
Type Hints: Um viele Fehler schon im Editor zu
finden und bessere automatische Vorschläge im Editor zu sehen, kann man
mit Doppelpunkt bzw. für den Rückgabetyp mit ->
angeben,
welche Datentypen man erwartet. 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ören. ↗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: Das 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 zu einer Klasse
gehört, aber nicht direkt auf eine Instanz zugreift. Bekommt also kein
self
.
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. Wichtig in __init__
und beim
Überschreiben. ↗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 aber 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