Maison >développement back-end >Tutoriel Python >Comment Python gère-t-il le passage par référence et le passage par valeur ?
En Python, la transmission d'arguments aux fonctions se fait par référence, ce qui signifie que le paramètre passé est une référence à l'objet réel. Cependant, il est important de comprendre la distinction entre passer une référence par valeur et passer réellement par référence.
En Python, les paramètres sont passés par valeur, ce qui signifie une copie de l'objet est affecté au paramètre dans la fonction. Cela a deux implications :
Bien que le véritable passage par référence ne soit pas directement pris en charge en Python, il existe plusieurs techniques pour le simuler :
Le code suivant illustre le passage -référence avec un mutable (liste) et un immuable (string):
# Mutable List def modify_list(the_list): the_list.append('four') outer_list = ['one', 'two', 'three'] print("Before: ", outer_list) modify_list(outer_list) print("After: ", outer_list) # Immutable String def modify_string(the_string): the_string = 'In a kingdom by the sea' outer_string = 'It was many and many a year ago' print("Before: ", outer_string) modify_string(outer_string) print("After: ", outer_string)
Sortie :
Before: ['one', 'two', 'three'] After: ['one', 'two', 'three', 'four'] Before: It was many and many a year ago After: It was many and many a year ago
Comme on le voit dans la sortie, la liste est modifiée avec succès (passage par référence), tandis que la chaîne reste inchangée (passage -par valeur).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!