Pola i metoda __init__
Inicjalizuj stan struktury.
Pola i metoda __init__ to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Mojo Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Pola zaczynają puste
Deklarowanie pól nadaje struct strukturę, ale nie wypełnia ich. Nadal musisz ustawić wartość początkową każdego pola. 🧱
Poznaj __init__
Metoda specjalna __init__ uruchamia się podczas tworzenia instancji. Jej zadaniem jest ustawienie rzeczywistych wartości pól struct.
fn __init__(out self):
self.x = 0
self.y = 0Parametr self
Wewnątrz __init__ self odnosi się do tworzonej nowej instancji. Przypisujesz wartość do self.field, aby przekazać dane tej instancji.
self.x = 0Dlaczego out self
Zapis out self informuje Mojo, że ta metoda konstruuje wartość, więc self rozpoczyna jako niezainicjalizowane i musisz wypełnić każde pole.
fn __init__(out self):Przyjmowanie argumentów
Inicjalizator zwykle przyjmuje argumenty, aby każda instancja mogła zostać utworzona z innymi danymi przekazanymi przez wywołującego.
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = yUstawianie każdego pola
W __init__ należy przypisać wartość do każdego pola. Mojo nie pozwoli utworzyć struktury, w której niektóre pola pozostają niezainicjalizowane.
Tworzenie instancji
Aby utworzyć wartość, należy wywołać strukturę jak funkcję. Mojo uruchamia __init__ i zwraca gotową instancję.
var p = Point(3, 4)Odczytywanie pola
Po utworzeniu instancji można uzyskać dostęp do pola za pomocą notacji kropkowej. Zatem p.x odczytuje wartość x zapisaną podczas tworzenia instancji.
print(p.x, p.y)Argumenty odpowiadają polom
Często nazywa się argumenty tak samo jak pola, a następnie przypisuje się je odpowiednio do tych pól. Dzięki temu inicjalizator jest łatwy do czytania.
self.x = x
self.y = yDomyślne wartości początkowe
Można nadać polom rozsądne wartości domyślne, przypisując w __init__ stałe, gdy wywołujący nie przekazuje użytecznego argumentu.
fn __init__(out self):
self.x = 0
self.y = 0Pełny obraz
Pola określają, jakie dane istnieją, a __init__ ustala ich początkowe wartości. Razem przekształcają schemat w użyteczną instancję.
struct Point:
var x: Int
var y: Int
fn __init__(out self, x: Int, y: Int):
self.x = x
self.y = ySzybkie sprawdzenie
Sprawdźmy, jak działa inicjalizacja.
Podsumowanie
Za pomocą __init__ konfigurował(a) Pan/Pani pola podczas tworzenia instancji. Następnie doda Pan/Pani metody, aby typ mógł działać, a nie tylko przechowywać dane. ✨
Często zadawane pytania
Czy lekcja „Pola i metoda __init__” jest bezpłatna?
Tak — pełny tekst „Pola i metoda __init__” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Mojo Academy, przejdź na CoddyKit PRO. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pola i metoda __init__”?
Inicjalizuj stan struktury. Ćwiczysz Mojo Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Mojo Academy?
Nie wymagamy żadnego doświadczenia. Mojo Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Pola i metoda __init__”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Mojo Academy?
Tak. Każda lekcja Mojo Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Definiowanie struktury
- Pola i metoda __init__
- Dodawanie metod do struktury
- Struktury a klasy Pythona