En Python, les entiers sont immuables, ce qui signifie qu'une fois créés, leur valeur ne peut pas être modifiée. Cela pose la question de savoir comment passer un entier par référence, permettant aux modifications apportées au sein d'une fonction d'être répercutées dans la variable d'origine.
Passer un conteneur mutable
Pendant que il n'est pas possible de passer un entier par référence directement, vous pouvez le passer dans un conteneur mutable, comme une liste :
def change(x): x[0] = 3 x = [1] change(x) print(x)
Sortie :
[3]
Dans cet exemple, nous créer une liste x contenant un seul élément. Nous passons ensuite x à la fonction change, qui modifie la valeur à l'index 0. Les listes étant mutables, ce changement persiste même après le retour de la fonction.
Renvoi d'un nouvel objet
Une autre option consiste à renvoyer un nouvel objet avec la valeur modifiée de la fonction :
def multiply_by_2(x): return 2 * x x = 1 x = multiply_by_2(x)
Dans ce cas, la fonction multiplier_by_2 renvoie un nouvel objet avec la valeur doublée, qui est ensuite attribué à x . L'entier d'origine x reste inchangé.
Bonnes pratiques
Lorsque vous transmettez des entiers à des fonctions, tenez compte des bonnes pratiques suivantes :
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!