Champs et méthode __init__
Initialisez l’état d’une structure.
Champs et méthode __init__ est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Fields Start Empty
Declaring fields gives a struct its shape, but it does not fill them in. You still need to set each field's starting value. 🧱
Meet __init__
The special method __init__ runs when you create an instance. Its job is to set up the struct's fields with real values.
fn __init__(out self):
self.x = 0
self.y = 0The self Parameter
Inside __init__, self refers to the new instance being built. You assign to self.field to give that instance its data.
self.x = 0Why out self
Writing out self tells Mojo this method is constructing the value, so self starts uninitialized and you must fill every field.
fn __init__(out self):Taking Arguments
An initializer usually takes arguments so each instance can start with different data passed in by the caller.
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = ySet Every Field
You must assign every field in __init__. Mojo will not let a struct exist with some fields left uninitialized.
Creating an Instance
To build a value, call the struct like a function. Mojo runs __init__ and hands you back a ready instance.
var p = Point(3, 4)Reading a Field
Once built, reach a field with dot access. So p.x reads the x you stored when the instance was created.
print(p.x, p.y)Arguments Map to Fields
A common pattern is naming arguments like the fields and assigning each across. This keeps the initializer easy to read.
self.x = x
self.y = yDefault Starting Values
You can give fields sensible defaults by assigning constants in __init__ when no useful argument is provided by the caller.
fn __init__(out self):
self.x = 0
self.y = 0The Full Picture
Fields declare what data exists; __init__ decides its starting value. Together they turn a blueprint into a usable instance.
struct Point:
var x: Int
var y: Int
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = yQuick Check
Let us confirm how initialization works.
Recap
You used __init__ to set up fields when an instance is born. Next you will add methods so your type can act, not just hold data. ✨
Questions Fréquemment Posées
La leçon « Champs et méthode __init__ » est-elle gratuite ?
Oui — le texte complet de « Champs et méthode __init__ » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Champs et méthode __init__ » ?
Initialisez l’état d’une structure. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Mojo Academy ?
Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Champs et méthode __init__ » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?
Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Définir une structure
- Champs et méthode __init__
- Ajouter des méthodes à une structure
- Structures contre classes Python