Felder und die __init__-Methode
Initialisieren Sie den Zustand einer struct.
Felder und die __init__-Methode ist eine kostenlose Mojo Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Mojo Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Felder beginnen leer
Durch die Deklaration der Felder erhält ein struct seine Form, aber die Felder werden dadurch nicht gefüllt. Sie müssen weiterhin für jedes Feld einen Startwert festlegen. 🧱
__init__ kennenlernen
Die spezielle Methode __init__ wird ausgeführt, wenn Sie eine Instanz erstellen. Ihre Aufgabe ist es, die Felder des struct mit echten Werten zu initialisieren.
fn __init__(out self):
self.x = 0
self.y = 0Der self-Parameter
Innerhalb von __init__ verweist self auf die neue Instanz, die gerade erstellt wird. Durch die Zuweisung an self.field geben Sie dieser Instanz ihre Daten.
self.x = 0Warum out self
Mit out self teilen Sie Mojo mit, dass diese Methode den Wert erstellt. Daher beginnt self nicht initialisiert, und Sie müssen jedes Feld ausfüllen.
fn __init__(out self):Argumente übernehmen
Ein Initialisierer nimmt normalerweise Argumente entgegen, damit jede Instanz mit anderen vom Aufrufer übergebenen Daten beginnen kann.
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = yJedes Feld setzen
Sie müssen in __init__ jedes Feld zuweisen. Mojo lässt keine Struktur zu, bei der einige Felder nicht initialisiert sind.
Eine Instanz erstellen
Um einen Wert zu erstellen, rufen Sie die Struktur wie eine Funktion auf. Mojo führt __init__ aus und gibt Ihnen eine fertige Instanz zurück.
var p = Point(3, 4)Ein Feld lesen
Nach dem Erstellen greifen Sie über den Punktzugriff auf ein Feld zu. p.x liest also den x-Wert, den Sie beim Erstellen der Instanz gespeichert haben.
print(p.x, p.y)Argumente Feldern zuordnen
Ein häufiges Muster besteht darin, Argumente wie die Felder zu benennen und jedes Argument dem entsprechenden Feld zuzuweisen. Dadurch bleibt der Initialisierer leicht zu lesen.
self.x = x
self.y = yStandardstartwerte
Sie können Feldern sinnvolle Standardwerte geben, indem Sie in __init__ Konstanten zuweisen, wenn der Aufrufer kein passendes Argument bereitstellt.
fn __init__(out self):
self.x = 0
self.y = 0Das Gesamtbild
Felder legen fest, welche Daten vorhanden sind; __init__ bestimmt ihren Anfangswert. Zusammen machen sie aus einem Bauplan eine nutzbare Instanz.
struct Point:
var x: Int
var y: Int
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = yKurzer Check
Bestätigen wir, wie die Initialisierung funktioniert.
Zusammenfassung
Sie haben __init__ verwendet, um beim Erstellen einer Instanz ihre Felder einzurichten. Als Nächstes fügen Sie Methoden hinzu, damit Ihr Typ nicht nur Daten hält, sondern auch Aktionen ausführen kann. ✨
Lerne Mojo mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Felder und die __init__-Methode“ kostenlos?
Ja — der vollständige Text von „Felder 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 Mojo Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Felder und die __init__-Methode“?
Initialisieren Sie den Zustand einer struct. Du übst Mojo 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 Mojo Academy zu starten?
Keine Vorkenntnisse erforderlich. Mojo 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 2 von 4.
Wie lange dauert die Lektion „Felder 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 Mojo Academy-Lektion Code schreiben und ausführen?
Ja. Jede Mojo 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
- Eine struct definieren
- Felder und die __init__-Methode
- Einer struct Methoden hinzufügen
- Structs und Python-Klassen im Vergleich