À retenir
- Permet de gagner de la place et de la clarté dans le code.
- Regroupe l'initialisation de plusieurs variables sur une seule ligne.
- Supportée par la majorité des langages modernes (C, Python, Java, JS).
L'affectation multiple est une technique de programmation qui permet de donner une valeur à plusieurs variables en une seule ligne de code. C'est un peu comme si, au lieu de dire séparément à trois personnes de s'asseoir, vous donniez un ordre collectif : Jean, Paul et Jacques, asseyez-vous.
Étymologie
Le mot affectation provient du latin affectare, signifiant « destiner à » ou « appliquer ». En informatique, cela désigne l'action de ranger une donnée dans une zone mémoire nommée (la variable). L'adjectif multiple souligne que l'opération traite plusieurs cibles simultanément.
Exemples d'usage
- En Python :
a = b = c = 0(les trois variables valent zéro). - En langage C :
x = y = z = 10; - En JavaScript :
let x, y; x = y = 5;
Cas d'usage
On l'utilise principalement lors de la phase d'initialisation d'un programme pour remettre à zéro plusieurs compteurs ou pour définir des paramètres par défaut identiques pour plusieurs composants. Elle intervient aussi pour simplifier la lecture du code en regroupant des opérations logiquement liées.
Bonnes pratiques
Attention avec les objets complexes (comme les listes ou les tableaux) : dans certains langages, l'affectation multiple peut faire en sorte que toutes les variables pointent vers le même objet en mémoire. Si vous modifiez l'une, toutes les autres changeront aussi. Utilisez-la de préférence pour des valeurs simples comme des nombres ou des textes.
Synonymes
Antonymes
Conseil
Si vous débutez, utilisez l'affectation multiple pour des variables qui ont un rôle similaire (par exemple, trois coordonnées x = y = z = 0). Évitez de regrouper des variables qui n'ont rien à voir entre elles, car cela pourrait rendre votre code confus pour quelqu'un d'autre.
Questions fréquentes
Est-ce que l'affectation multiple rend le programme plus rapide ?
Non, le gain de performance est quasiment nul. Son intérêt est avant tout esthétique et pratique pour le développeur.
Peut-on affecter des valeurs différentes en une seule ligne ?
Oui, certains langages comme Python le permettent via le 'destructuring' (ex: a, b = 1, 2), mais cela est souvent considéré comme une variante évoluée de l'affectation multiple.