Поля и метод __init__
Инициализируйте состояние struct.
«Поля и метод __init__» — бесплатный урок Mojo Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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. ✨
Часто задаваемые вопросы
Урок «Поля и метод __init__» бесплатный?
Да — полный текст урока «Поля и метод __init__» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.
Чему я научусь в уроке «Поля и метод __init__»?
Инициализируйте состояние struct. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Mojo Academy?
Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Поля и метод __init__»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Mojo Academy?
Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение struct
- Поля и метод __init__
- Добавление методов в struct
- Struct и классы Python