Python: Grundlagen der OOP
59 cards · 🇺🇸 English → 🇩🇪 Deutsch
Klassen, Vererbung und zentrale objektorientierte Konzepte in Python.
Study all 59 cards for free
Flashcards, quizzes, pixel-art games and a daily review that remembers for you.
Try the first 10 cards
1 / 10Class in Python
Tap the card for the answer · swipe right if you knew it, left if not
Already have an account? Sign in
Cards
- 1Class in PythonEine Vorlage (Blueprint) zum Erstellen von Objekten, die Daten (Attribute) und Funktionalität (Methoden) bündelt. Wird mit dem Schlüsselwort 'class' definiert.
- 2Define a classclass ClassName: def __init__(self, param): self.attribute = param
- 3InstanceEin aus einer Klasse erzeugtes Objekt. Jede Instanz hat eigene Daten, teilt sich aber die Methoden mit anderen Instanzen derselben Klasse.
- 4SelfVerweis auf die aktuelle Instanz. Erster Parameter von Instanzmethoden. Ermöglicht den Zugriff auf Attribute und Methoden. Konvention, kein Schlüsselwort.
- 5__init__Konstruktormethode, die beim Erstellen einer neuen Instanz aufgerufen wird. Initialisiert die Instanzattribute. Beispiel: def __init__(self, name): self.name = name
- 6Instance attributesVariablen, die für jede Instanz individuell sind. Werden in __init__ oder anderen Methoden definiert. Zugriff über self.attribute_name.
- 7Class attributesVariablen, die von allen Instanzen einer Klasse gemeinsam genutzt werden. Werden direkt im Klassenkörper definiert, nicht in Methoden. Beispiel: class Dog: species = 'Canis familiaris'
- 8instance vs class attributesInstanzattribute sind für jede Instanz individuell (self.attr). Klassenattribute werden von allen Instanzen gemeinsam genutzt (ClassName.attr). Bei der Suche wird zuerst die Instanz, dann die Klasse geprüft.
- 9Instance methodsIn einer Klasse definierte Funktionen, die mit Instanzdaten arbeiten. Erhalten self als ersten Parameter. Beispiel: def bark(self): return f'{self.name} says woof!'
- 10Class methodsMethoden, die mit der Klasse selbst arbeiten, nicht mit Instanzen. Mit @classmethod dekoriert. Erhalten cls als ersten Parameter. Beispiel: @classmethod def from_string(cls, string):
- 11Static methodsMethoden, die weder auf die Instanz noch auf die Klasse zugreifen. Mit @staticmethod dekoriert. Kein self/cls-Parameter. Hilfsfunktionen, die der Klasse zugeordnet sind.
- 12InheritanceMechanismus, der es einer Klasse erlaubt, Attribute und Methoden einer anderen Klasse zu erben. Die Kindklasse erweitert die Elternklasse. Syntax: class Child(Parent):
- 13Method overridingDie Kindklasse definiert eine Methode der Elternklasse neu. Beim Aufruf auf einer Instanz der Kindklasse wird deren Version ausgeführt. Mit super() kann die Version der Elternklasse aufgerufen werden.
- 14Super()Eingebaute Funktion zum Aufrufen von Methoden der Elternklasse. Häufig in __init__: super().__init__(args). Behandelt Mehrfachvererbung korrekt.
- 15Multiple inheritanceEine Klasse erbt von mehreren Elternklassen. Syntax: class Child(Parent1, Parent2). Die Methodenauflösung folgt der MRO (Method Resolution Order).
- 16MRO (Method Resolution Order)Die Reihenfolge, in der Python Methoden in der Vererbungshierarchie sucht. Anzeigbar mit ClassName.mro() oder ClassName.__mro__. Verwendet die C3-Linearisierung.
- 17PolymorphismVerschiedene Klassen können über dieselbe Schnittstelle verwendet werden. Objekte unterschiedlicher Klassen reagieren unterschiedlich auf denselben Methodenaufruf. In Python als Duck Typing umgesetzt.
- 18EncapsulationBündelung von Daten und Methoden in einer Klasse. Kontrolle des Zugriffs auf den internen Zustand. Verwendung von Properties und privaten Attributen.
- 19Private attributes in PythonPer Konvention mit Unterstrich versehen: _private oder __private. __name löst Name Mangling aus (_ClassName__name). Nicht wirklich privat, nur eine Konvention.
- 20Name mangling__attribute wird zu _ClassName__attribute. Hilft, Namenskonflikte bei der Vererbung zu vermeiden. Dient nicht der Sicherheit, sondern ist reine Konvention.
- 21@propertyDecorator, der eine Methode wie ein Attribut zugänglich macht. Ermöglicht Getter-/Setter-Logik bei gleichbleibender Attribut-Syntax. Beispiel: @property def name(self): return self._name
- 22Create a setter with @property@property für den Getter, dann @attribute.setter für den Setter. Beispiel: @property def name(self): return self._name @name.setter def name(self, value): self._name = value
- 23__str__Magische Methode, die die für Menschen lesbare String-Darstellung definiert. Wird von str() und print() aufgerufen. Beispiel: def __str__(self): return f'{self.name}'
- 24__repr__Magische Methode, die die String-Darstellung für Entwickler definiert. Sollte eindeutig sein, idealerweise gültiger Python-Code. Wird von repr() aufgerufen. Fallback für __str__.
- 25__str__ vs __repr____str__: für Endnutzer lesbar. __repr__: eindeutig, für Entwickler und Debugging. __repr__ dient als Fallback, wenn __str__ fehlt.
- 26__len__Definiert das Verhalten von len(). Beispiel: def __len__(self): return len(self.items)
- 27__getitem__Ermöglicht Indexierung/Slicing: obj[key]. Beispiel: def __getitem__(self, index): return self.items[index]
- 28__setitem__Ermöglicht die Zuweisung per Index: obj[key] = value. Beispiel: def __setitem__(self, key, value): self.items[key] = value
- 29__eq__Definiert den Gleichheitsvergleich mit ==. Beispiel: def __eq__(self, other): return self.id == other.id
- 30Comparison magic methods__eq__ (==), __ne__ (!=), __lt__ (<), __le__ (<=), __gt__ (>), __ge__ (>=). Definieren, wie Objekte verglichen werden.
And 29 more cards. Study the whole deck free
Articles about this deck
More Programming decks
See all- 🐍
Python: OOP Fundamentals
59 cards · 🇺🇸 English
Classes, inheritance, and core object-oriented Python concepts.
- 🐍
Python : avancé (décorateurs, lambda et exceptions)
97 cards · 🇺🇸 English
Décorateurs, fonctions lambda, gestion des exceptions et autres concepts Python avancés.
- 🐍
Python : structures de données et compréhensions
125 cards · 🇺🇸 English
Méthodes de listes/dictionnaires/ensembles ainsi que les compréhensions de listes, de dictionnaires et de générateurs.
- 🐍
Python: Fortgeschritten (Decorators, Lambda & Exceptions)
97 cards · 🇺🇸 English
Decorators, Lambda-Funktionen, Exception-Handling und weitere fortgeschrittene Python-Konzepte.
- 🐍
Python: Funciones integradas
77 cards · 🇺🇸 English
Funciones integradas esenciales que todo desarrollador Python debería conocer.
- 🐍
Python : fondamentaux de la POO
59 cards · 🇺🇸 English
Classes, héritage et concepts fondamentaux de la programmation orientée objet en Python.
