Objekte - janehlenb/Projektarbeit-ChatGPT-Python GitHub Wiki

Einführung

Objekte sind die Grundlage von Python. Alles in Python ist ein Objekt, von einfachen Datentypen wie Zahlen und Strings bis hin zu komplexen Datenstrukturen wie Listen und Dictionaries. Wenn du also Python lernen möchtest, solltest du dich mit Objekten vertraut machen.

In diesem Abschnitt wirst du lernen, was Objekte sind, wie man sie erstellt und manipuliert und wie sie in Python verwendet werden können. Am Ende dieses Abschnitts solltest du in der Lage sein, eigene Objekte zu erstellen und in deinem Code einzusetzen.

Theorie

Objekte erstellen

In Python werden Objekte erstellt, indem man eine sogenannte "Klasse" definiert. Eine Klasse ist eine Art Bauplan für ein Objekt. Sie definiert, welche Attribute ein Objekt hat und welche Methoden es ausführen kann.

Ein einfaches Beispiel für eine Klasse wäre eine Klasse für eine Person:

class Person:
    def __init__(self, name, alter):
        self.name = name
        self.alter = alter

Hier wird eine Klasse Person definiert, die zwei Attribute hat: name und alter. Das Attribut name ist vom Typ String und das Attribut alter ist vom Typ Integer.Um nun ein Objekt der Klasse Person zu erstellen müssen den Konstruktor, also die __init__()funktion, aufrufen. Diese wird als Name der Klasse geschrieben.

person = Person("Daniel",24)

Objekte manipulieren

Um ein Objekt zu manipulieren, kann man auf die Attribute und Methoden der Klasse zugreifen. Hier ist ein Beispiel, das zeigt, wie man das Attribut name einer Person ändert:

person = Person("Max", 30)
person.name = "Moritz"
print(person.name)  # Ausgabe: Moritz

Methoden definieren

In einer Klasse können auch Methoden definiert werden. Eine Methode ist eine Funktion, die auf ein Objekt angewendet werden kann. Hier ist ein Beispiel, das zeigt, wie man eine Methode in einer Klasse definiert:

class Person:
    def __init__(self, name, alter):
        self.name = name
        self.alter = alter

    def geburtstag_feiern(self):
        self.alter += 1
        print(f"{self.name} feiert seinen {self.alter}. Geburtstag!")

In diesem Beispiel wird eine Methode geburtstag_feiern() definiert, die das Alter einer Person um eins erhöht und eine Nachricht ausgibt, die den Namen und das neue Alter enthält.

Praxis

Aufgabe 1

Erstelle eine Klasse Auto, die folgende Attribute hat:

  • Hersteller (String)
  • Modell (String)
  • Baujahr (Integer)
  • Farbe (String)

Erstelle anschließend ein Objekt der Klasse Auto mit den folgenden Werten:

  • Hersteller: BMW
  • Modell: X5
  • Baujahr: 2021
  • Farbe: Blau

Lösung 2

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

auto = Auto("BMW", "X5", 2021, "Blau")