free web page hit counter

Classes And Instances In Python


Classes And Instances In Python

Python ist eine objektorientierte Programmiersprache. Das bedeutet, dass sie Konzepte wie Klassen und Instanzen verwendet, um Code zu strukturieren und wiederzuverwenden. Verständnis dieser Konzepte ist entscheidend für die effektive Nutzung von Python.

Was sind Klassen?

Eine Klasse ist wie eine Blaupause oder ein Bauplan für Objekte. Sie definiert die Eigenschaften (Attribute) und das Verhalten (Methoden) die Objekte dieser Klasse haben werden. Denken Sie an eine Klasse wie eine allgemeine Beschreibung eines Dings, z.B. "Auto". Ein Auto hat bestimmte Eigenschaften wie Farbe, Marke, Modell und Methoden wie beschleunigen, bremsen und hupen. Die Klasse definiert, was ein Auto ist und was es kann, aber sie ist noch kein konkretes Auto.

Eine Klasse wird mit dem Schlüsselwort class definiert:


class Auto:
    def __init__(self, marke, modell, farbe):
        self.marke = marke
        self.modell = modell
        self.farbe = farbe

    def beschleunigen(self):
        print("Das Auto beschleunigt.")

    def bremsen(self):
        print("Das Auto bremst.")

Die __init__ Methode ist ein spezieller Konstruktor. Sie wird automatisch aufgerufen, wenn eine neue Instanz der Klasse erstellt wird. Sie initialisiert die Attribute des Objekts. self ist eine Konvention in Python und repräsentiert die Instanz der Klasse selbst. Durch self.marke = marke wird dem Attribut `marke` der Instanz der Wert zugewiesen, der beim Erstellen der Instanz übergeben wurde.

Was sind Instanzen?

Eine Instanz ist ein konkretes Objekt, das auf der Grundlage einer Klasse erstellt wurde. Wenn die Klasse die Blaupause ist, dann ist die Instanz das tatsächlich gebaute Auto. Sie ist eine Realisierung der Klasse mit konkreten Werten für die Attribute. Beispielsweise könnte eine Instanz der Klasse `Auto` ein roter VW Golf sein.

Python Classes and Objects - AskPython
Python Classes and Objects - AskPython

Eine Instanz wird erstellt, indem die Klasse wie eine Funktion aufgerufen wird:


mein_auto = Auto("VW", "Golf", "rot")

Hier erstellen wir eine Instanz der Klasse `Auto` namens `mein_auto`. Wir übergeben die Werte "VW", "Golf" und "rot" an den Konstruktor (__init__ Methode), um die Attribute der Instanz zu initialisieren. Jetzt ist `mein_auto` ein eigenständiges Objekt mit seinen eigenen Werten für Marke, Modell und Farbe.

Zugriff auf Attribute und Methoden

Auf die Attribute und Methoden einer Instanz kann mit der Punktnotation zugegriffen werden:

Python Classes - The Power of Object-Oriented Programming Quiz – Real
Python Classes - The Power of Object-Oriented Programming Quiz – Real

print(mein_auto.marke)  # Ausgabe: VW
print(mein_auto.farbe)  # Ausgabe: rot
mein_auto.beschleunigen() # Ausgabe: Das Auto beschleunigt.

mein_auto.marke greift auf das Attribut `marke` der Instanz `mein_auto` zu. mein_auto.beschleunigen() ruft die Methode `beschleunigen` der Instanz `mein_auto` auf.

Mehrere Instanzen

Sie können beliebig viele Instanzen einer Klasse erstellen. Jede Instanz hat ihre eigenen Werte für die Attribute. Dies ist einer der wesentlichen Vorteile der objektorientierten Programmierung: Sie können viele separate, unabhängige Objekte erstellen, die alle demselben Grundmuster folgen, aber unterschiedliche Zustände haben.

Class & Instance in Python with Example
Class & Instance in Python with Example

dein_auto = Auto("BMW", "X5", "blau")
print(dein_auto.marke) # Ausgabe: BMW
print(mein_auto.marke) # Ausgabe: VW

Wie man sieht, haben `mein_auto` und `dein_auto` unterschiedliche Werte für das Attribut `marke`, obwohl beide Instanzen der gleichen Klasse `Auto` sind.

Warum Klassen und Instanzen verwenden?

  • Code-Organisation: Klassen helfen, den Code zu strukturieren, indem sie verwandte Daten (Attribute) und Funktionen (Methoden) zusammenfassen.
  • Wiederverwendbarkeit: Klassen können wiederverwendet werden, um mehrere Objekte mit ähnlichen Eigenschaften und Verhalten zu erstellen.
  • Abstraktion: Klassen ermöglichen es, die Komplexität des Codes zu abstrahieren, indem sie die interne Implementierung vor dem Benutzer verbergen.
  • Modellierung der realen Welt: Klassen erleichtern die Modellierung von Objekten und Konzepten aus der realen Welt in Code.

Klassen und Instanzen sind grundlegende Bausteine der objektorientierten Programmierung in Python. Indem Sie diese Konzepte verstehen und beherrschen, können Sie saubereren, besser organisierten und wiederverwendbaren Code schreiben. Der Schlüssel liegt in der Übung: Experimentieren Sie mit verschiedenen Klassen und Instanzen, um Ihr Verständnis zu vertiefen. Erstellen Sie Ihre eigenen Klassen, die reale Objekte oder Konzepte repräsentieren. Je mehr Sie üben, desto intuitiver werden Klassen und Instanzen für Sie.

Empfehlung: Versuchen Sie, ein kleines Projekt zu erstellen, das die Verwendung von Klassen und Instanzen beinhaltet. Zum Beispiel könnten Sie eine Klasse für "Produkt" erstellen und dann mehrere Instanzen erstellen, um verschiedene Produkte in einem Online-Shop darzustellen. Dies ist eine grossartige Möglichkeit, Ihr Wissen in die Praxis umzusetzen.

Python Classes - Here Is A Detailed Guide - MrExamples What are Python Classes - NoloWiz Understanding the Difference between Objects and Instances in Python: A Types and Classes (Video) – Real Python 11.2 Classes and instances - Introduction to Python Programming | OpenStax Python Classes: The Power of Object-Oriented Programming – Real Python What is Classes in Python ? - Python Questions for beginners

You might also like →