Mojo Academy · Lekcja

Argumenty pozycyjne i nazwane

Przekazuj wartości według pozycji lub nazwy.

Lekcja 1 z 413 kroki

Argumenty pozycyjne i nazwane to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 1 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.

Dwa sposoby przekazywania wartości

Każde wywołanie funkcji Mojo przekazuje wartości nazywane argumentami. Możesz przekazywać je pozycyjnie lub po nazwie, a oba style mogą wystąpić w jednym wywołaniu.

Argumenty pozycyjne

W przypadku argumentów pozycyjnych kolejność ma kluczowe znaczenie. Pierwsza wartość trafia do pierwszego parametru, druga do drugiego i tak dalej.

fn greet(name: String, times: Int):
    for _ in range(times):
        print(name)

greet("Mojo", 2)

Tutaj kolejność ma znaczenie

Zamiana dwóch argumentów pozycyjnych zmienia znaczenie wywołania. W tym przypadku Mojo odczytałoby 2 jako nazwę, a „Mojo” jako liczbę powtórzeń, dlatego kolejność musi odpowiadać parametrom.

greet(2, "Mojo")  # wrong: positions no longer match

Argumenty nazwane

Argument nazwany wskazuje parametr, który masz na myśli. Teraz wywołanie jest czytelne, a kolejność przestaje mieć znaczenie.

greet(name="Mojo", times=2)

Nazwy uwalniają od pilnowania kolejności

Ponieważ każda wartość ma etykietę, możesz podawać argumenty nazwane w dowolnej kolejności. Mojo dopasowuje je po nazwie, a nie po pozycji.

greet(times=2, name="Mojo")  # same result

Łączenie obu stylów

Możesz połączyć oba style, ale wartości pozycyjne muszą wystąpić najpierw. Gdy pojawi się argument nazwany, wszystkie kolejne również muszą być nazwane.

greet("Mojo", times=2)  # ok
# greet(name="Mojo", 2)  # error

Dlaczego argumenty nazwane pomagają czytelnikom

Argumenty nazwane zmieniają zagadkowe wywołanie w zdanie. Odczytanie times=2 dokładnie wyjaśnia, co oznacza 2, nawet po kilku miesiącach.

Unikanie błędów pozycji

Gdy funkcja przyjmuje kilka wartości tego samego typu, łatwo pomylić ich pozycje. Nazwanie ich za pomocą argumentów nazwanych eliminuje całą tę klasę błędów.

draw(width=800, height=600)  # clearer than draw(800, 600)

Nazwy pochodzą od parametrów

Wpisana nazwa argumentu musi odpowiadać nazwie parametru w definicji funkcji. Literówka, taka jak nme=, jest błędem, a nie nowym argumentem.

fn greet(name: String, times: Int): ...
greet(name="Mojo", times=2)

Oba style, jedna funkcja

Nie wybierasz stylu dla całej funkcji. Decyduje wywołujący, dlatego ta sama funkcja może przy każdym wywołaniu przyjmować argumenty pozycyjne, nazwane albo ich połączenie.

Praktyczna zasada

Użyj argumentu pozycyjnego dla oczywistej wartości początkowej, a następnie przejdź do argumentów nazwanych dla dodatkowych opcji. Dzięki temu krótkie wywołania pozostają uporządkowane, a długie — czytelne.

connect("localhost", port=8080, retries=3)

Szybki test

Chcesz, aby kolejność przestała mieć znaczenie w wywołaniu funkcji. Które podejście pomoże?

Podsumowanie: po pozycji lub nazwie

Argumenty pozycyjne opierają się na kolejności, a argumenty nazwane — na nazwach. Zacznij od argumentów pozycyjnych, a pozostałe nazwij, dzięki czemu wywołania pozostaną krótkie i czytelne.

Bezpłatny start

Ucz się Mojo dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Argumenty pozycyjne i nazwane” jest bezpłatna?

Tak — pełny tekst „Argumenty pozycyjne i nazwane” 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 „Argumenty pozycyjne i nazwane”?

Przekazuj wartości według pozycji lub nazwy. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Argumenty pozycyjne i nazwane”?

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

  1. Argumenty pozycyjne i nazwane
  2. Domyślne wartości argumentów
  3. Zwracanie wielu wartości
  4. Odczytywanie sygnatur funkcji
← Powrót do Mojo Academy