Passage par valeur ou par référence
Ce qu'une fonction reçoit vraiment : une copie ou un accès à la donnée de l'appelant. Alias, effet de bord sur une liste passée en paramètre, types modifiables ou non, paramètres en entrée et en sortie.
- 25 cartes
- 7 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
- Ligne à ligne
- Dérouler
Quelques cartes du deck
Passage par valeur : de quoi s'agit-il ?
Voir la réponse
Mode de transmission où la fonction reçoit une copie de l'argument : modifier le paramètre ne change rien chez l'appelant.
C'est le mode du C : pour qu'une fonction modifie une variable de l'appelant, on lui passe son adresse.
Qu'affiche ce programme ?
```python
def ajoute_un(n):
n = n + 1
return n
x = 5
y = ajoute_un(x)
print(x, y)`5 66 65 56 5
Voir la réponse
5 6n = n + 1fait désigner un nouvel entier, 6, au nom localn:xdésigne toujours 5. Seule la valeur renvoyée, rangée dansy, sort de la fonction.Un paramètre en … est seulement lu par la fonction ; un paramètre en … lui sert à transmettre un résultat à l'appelant ; un paramètre en entrée-sortie est lu puis modifié.
Voir la réponse
Un paramètre en entrée est seulement lu par la fonction ; un paramètre en sortie lui sert à transmettre un résultat à l'appelant ; un paramètre en entrée-sortie est lu puis modifié.
En Python, une liste passée à une fonction qui la trie sur place est un paramètre en entrée-sortie ; un entier ne peut être qu'en entrée, et le résultat revient par
return.