30-Days-Of-Python/German/21_classes_and_objects_de.md
2026-03-28 10:54:09 +01:00

4.3 KiB

30 Tage Python: Tag 21 - Klassen und Objekte (OOP)

Twitter Follow

Autor: Asabeneh Yetayeh
Zweite Edition: Juli 2021

<< Tag 20 | Tag 22 >>

30DaysOfPython

📘 Tag 21

Klassen und Objekte

Python ist eine objektorientierte Programmiersprache (OOP). Alles in Python ist ein Objekt mit seinen Eigenschaften (Attributen) und Methoden. Eine Klasse ist wie ein "Bauplan" oder eine Konstruktionszeichnung zur Erstellung von Objekten. Wir instanziieren eine Klasse, um ein Objekt zu erzeugen.

Eine Klasse erstellen

Wir nutzen das Schlüsselwort class. Klassennamen werden üblicherweise in CamelCase geschrieben.

# Syntax
class ClassName:
    # Code hier

Ein Objekt erstellen

class Person:
    pass

p = Person() # Erstellt eine Instanz der Klasse Person

Der Klassen-Konstruktor (init)

Die __init__-Methode ist eine spezielle Funktion, die automatisch aufgerufen wird, wenn ein neues Objekt erstellt wird. Sie initialisiert die Attribute des Objekts. Der Parameter self bezieht sich auf die aktuelle Instanz der Klasse.

class Person:
    def __init__(self, firstname, lastname):
        self.firstname = firstname
        self.lastname = lastname

p = Person('Asabeneh', 'Yetayeh')
print(p.firstname) # Asabeneh

Methoden eines Objekts

Methoden sind Funktionen, die innerhalb einer Klasse definiert sind und auf das Objekt angewendet werden können.

class Person:
    def __init__(self, firstname, lastname, age):
        self.firstname = firstname
        self.lastname = lastname
        self.age = age

    def info(self):
        return f'{self.firstname} ist {self.age} Jahre alt.'

p = Person('Asabeneh', 'Yetayeh', 250)
print(p.info())

Vererbung (Inheritance)

Vererbung erlaubt es uns, eine Klasse zu definieren, die alle Methoden und Eigenschaften einer anderen Klasse (Elternklasse) übernimmt.

class Student(Person): # Student erbt von Person
    def __init__(self, firstname, lastname, age, student_id):
        super().__init__(firstname, lastname, age) # Ruft den Konstruktor der Elternklasse auf
        self.student_id = student_id

s = Student('Eyob', 'Yetayeh', 30, 'S12345')
print(s.info()) # Nutzt die Methode von Person

💻 Übungen - Tag 21

Level 1

  1. Erstelle eine Klasse namens Statistics. Sie soll eine Liste von Zahlen entgegennehmen und Methoden für folgende statistische Berechnungen enthalten:
    • count(), sum(), min(), max(), range(), mean(), median(), mode(), std() (Standardabweichung), var() (Varianz).
    • Die Methode describe() soll eine Zusammenfassung aller Werte ausgeben.

Level 2

  1. Erstelle eine Klasse PersonAccount.
    • Eigenschaften: firstname, lastname, incomes (Menge aus Einkommen & Beschreibung), expenses (Menge aus Ausgaben & Beschreibung).
    • Methoden: total_income(), total_expense(), account_info(), add_income(), add_expense(), account_balance().

🎉 HERZLICEN GLÜCKWUNSCH! 🎉

<< Tag 20 | Tag 22 >>