{ "cells": [ { "cell_type": "markdown", "id": "50c46913", "metadata": {}, "source": [ "
On appelle effet de bord la modification de valeurs référencées par des variables.\n", "
Comme les identifiants de a et b sont identiques, ils définissent la même plage mémoire pour les valeurs de ces deux variables. Autrement dit a et b ont la même valeur.
\n", "\n", "Cependant, toute modification de la variable a via une affectation va créer une autre plage mémoire avec un nouvel identifiant : la variable b ne sera donc pas modifiée !
" ] }, { "cell_type": "markdown", "id": "d784baa9", "metadata": {}, "source": [ " Les variables mutables peuvent être modifiées par d'autres opérations qu'une affectation, or cela conserve l'identifiant !
Par conséquent, pour une variable de type mutable, l'identifiant ainsi que la plage mémoire allouée à la valeur de cette variable peuvent rester inchangés, même lorsque l'on change la valeur de cette variable.
Cette manière de procéder permet un gain de temps (copie rapide) et de mémoire(une seule plage mémoire pour deux variables).
Mais elle pose un problème technique : si le contenu de la plage mémoire de la valeur de L1 est modifié, cela entraine automatiquement la modification de la valeur de L2 puisqu'ils sont référencés par le même identifiant!
Lors d'une affectation du type truc = machin, ce n'est pas la valeur de machin qui est recopiée, mais son identifiant!
\n", "\n" ] }, { "cell_type": "markdown", "id": "248d9eaa", "metadata": {}, "source": [ "