0Pricing
Mojo Academy · Leçon

Paramètres contre arguments

Valeurs à la compilation contre valeurs à l’exécution.

Paramètres contre arguments est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Two Kinds of Input

Mojo functions can take two kinds of input: parameters known at compile time, and arguments known at runtime. Knowing the difference is the key.

Arguments Live at Runtime

An argument is an ordinary value you pass when the program runs. Its actual number can change every single time you call the function.

fn square(x: Int) -> Int:
    return x * x

Parameters Live at Compile Time

A parameter is a value the compiler already knows before your program runs. It is fixed and baked right into the generated code. ⚙️

Brackets vs Parentheses

Mojo keeps them visually separate: parameters go in square brackets, while arguments stay in the familiar parentheses.

fn repeat[count: Int](msg: String):
    print(msg)

Reading the Signature

In repeat[count: Int](msg: String), the count is set at compile time and msg is supplied later when you actually call it.

Compile Time Means Earlier

Think of compile time as the moment Mojo translates your code, long before it runs. Parameters are decided in that earlier phase.

Why Separate Them

Keeping compile-time and runtime values separate lets the compiler specialize and optimize code that the runtime simply cannot.

Passing a Parameter

You supply a parameter in brackets at the call site, just like you supply arguments in parentheses right after it.

repeat[3]("hi")

Parameters Must Be Known

A parameter value must be a compile-time constant. You cannot pass a number you only computed while the program was running.

A Familiar Example

The built-in SIMD type takes its element type and width as parameters, then holds real numbers as runtime values inside it.

var v = SIMD[DType.int32, 4](1, 2, 3, 4)

The Mental Model

Picture two slots: the bracket slot for compile-time facts, the parenthesis slot for runtime data. Mojo treats them very differently.

Quick Check

Tell apart parameters and arguments in Mojo.

Recap

You learned the split: parameters are compile-time values in brackets, arguments are runtime values in parentheses. That divide powers Mojo's speed. 🎯

Questions Fréquemment Posées

La leçon « Paramètres contre arguments » est-elle gratuite ?

Oui — le texte complet de « Paramètres contre arguments » 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 « Paramètres contre arguments » ?

Valeurs à la compilation contre valeurs à l’exécution. 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 1 sur 4.

Combien de temps prend la leçon « Paramètres contre arguments » ?

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

  1. Paramètres contre arguments
  2. Fonctions paramétrées
  3. Structures paramétrées
  4. Pourquoi la compilation accélère le code
← Retour à Mojo Academy