0Pricing
Python Academy · Lektion

Klassen und die __init__-Methode

Definieren Sie Klassen, erstellen Sie Objekte und initialisieren Sie Attribute.

Klassen und die __init__-Methode ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Eine Klasse definieren

Verwenden Sie das Schlüsselwort class, um eine Klasse zu definieren. Konventionell werden Klassennamen in CapWords geschrieben.

class Dog:
    pass

fido = Dog()
print(type(fido))  # <class '__main__.Dog'>

Die __init__-Methode

__init__ wird automatisch aufgerufen, wenn ein Objekt erstellt wird. Verwenden Sie die Methode, um Instanzattribute zu initialisieren.

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

fido = Dog("Fido", "Labrador")
print(fido.name)   # Fido

self erklärt

self verweist auf die aktuelle Instanz. Es muss der erste Parameter jeder Instanzmethode sein. Python übergibt es automatisch.

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

c = Counter()
c.increment()
print(c.count)  # 1

Mehrere Instanzen

Jede Instanz besitzt eine eigene Kopie der in __init__ gesetzten Instanzattribute.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x)  # 1 5

Standardparameterwerte in __init__

Geben Sie den Parametern von __init__ Standardwerte, damit einige Argumente optional werden.

class Circle:
    def __init__(self, radius=1.0):
        self.radius = radius

c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius)  # 1.0 5

Instanzmethoden

Methoden, die innerhalb einer Klasse definiert sind, arbeiten über self mit der Instanz.

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def area(self):
        return self.w * self.h

r = Rectangle(4, 5)
print(r.area())  # 20

Attribute nach der Erstellung hinzufügen

Sie können einer Instanz nach ihrer Erstellung Attribute hinzufügen. Sauberer ist es jedoch, alle Attribute in __init__ zu deklarieren.

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

p = Person("Alice")
p.age = 30      # added after creation
print(p.name, p.age)

Der Rückgabewert von __init__

__init__ muss None zurückgeben. Die Rückgabe eines anderen Werts löst einen TypeError aus.

class Broken:
    def __init__(self):
        return 42   # TypeError!

# Correct
class OK:
    def __init__(self):
        self.value = 42
        # implicit return None

Den Instanztyp überprüfen

Verwenden Sie isinstance(), um zu überprüfen, ob ein Objekt eine Instanz einer Klasse ist.

class Animal:
    pass

class Dog(Animal):
    pass

d = Dog()
print(isinstance(d, Dog))     # True
print(isinstance(d, Animal))  # True

Das __dict__-Attribut

Jede Instanz speichert ihre Attribute in einem __dict__-Dictionary.

class Book:
    def __init__(self, title, pages):
        self.title = title
        self.pages = pages

b = Book("Python 101", 300)
print(b.__dict__)  # {'title': 'Python 101', 'pages': 300}

Attribute löschen

Verwenden Sie del, um ein Attribut zur Laufzeit aus einer Instanz zu entfernen.

class Config:
    def __init__(self):
        self.debug = True
        self.version = "1.0"

cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug"))  # False

Kurzer Test

Welchen Zweck hat self in Python-Klassenmethoden?

Zusammenfassung

Klassen sind Baupläne für Objekte. __init__ initialisiert Instanzattribute, self verweist auf das aktuelle Objekt, und jede Instanz verwaltet ihr eigenes Attribut-Dictionary.

Häufig gestellte Fragen

Ist die Lektion „Klassen und die __init__-Methode“ kostenlos?

Ja — der vollständige Text von „Klassen und die __init__-Methode“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Klassen und die __init__-Methode“?

Definieren Sie Klassen, erstellen Sie Objekte und initialisieren Sie Attribute. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Klassen und die __init__-Methode“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Klassen und die __init__-Methode
  2. Instanz- und Klassenattribute
  3. Instanzmethoden und self
  4. Magic Methods: __str__ und __repr__
← Zurück zu Python Academy