def echange(liste, indice1, indice2):
"""
liste -- liste d'entiers
indice1 -- indice d'un élément de liste
indice2 -- indice d'un élément de liste
échange les valeurs de liste[indice1] et liste[indice2]
(fonction à effet de bord, ne renvoie rien)
"""
liste[indice1], liste[indice2] = liste[indice2], liste[indice1]
a = [2, 3, 4, 5]
echange(a, 0, 1)
a
Le contenu de la liste a a été modifiée (mais le conteneur est toujours le même): on a modifié le contenu de la bouteille.
La fonction est une fonction à effet de bord: elle a modifié une variable définie en dehors d'elle-même.