Sobes.tech
Junior — Middle

Comment les objets de types de données modifiables changent-ils lorsqu'ils sont passés en tant qu'arguments à une fonction?

sobes.tech IA

Réponse de l'IA

En Python, les objets de types mutables (par exemple, les listes, dictionnaires, ensembles) sont passés à une fonction par référence à l’objet. Cela signifie que si vous modifiez le contenu de l’objet à l’intérieur de la fonction (par exemple, ajouter un élément à la liste), ces modifications seront visibles également en dehors de la fonction.

Exemple :

def add_element(lst):
    lst.append(10)

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Affichera : [1, 2, 3, 10]

Cependant, si vous assignez un nouvel objet au paramètre à l’intérieur de la fonction, cela n’affectera pas l’objet externe :

def replace_list(lst):
    lst = [4, 5, 6]  # Création d’un nouvel objet, local à la fonction

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Affichera : [1, 2, 3]

Ainsi, en passant des objets mutables à une fonction, vous pouvez modifier leur contenu, et ces modifications persisteront en dehors de la fonction.