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.