Maison > développement back-end > Tutoriel Python > Comment modifier un entier passé à une fonction en Python ?

Comment modifier un entier passé à une fonction en Python ?

Mary-Kate Olsen
Libérer: 2024-11-06 01:00:02
original
906 Les gens l'ont consulté

How can I modify an integer passed to a function in Python?

Passer un entier par référence en Python

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)
Copier après la connexion

Sortie :

[3]
Copier après la connexion

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)
Copier après la connexion

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 :

  • Si vous devez modifier la valeur dans la variable d'origine, utilisez un conteneur mutable comme décrit ci-dessus.
  • Si vous n'avez besoin d'utiliser que la valeur modifiée, renvoyez un nouvel objet à partir de la fonction.
  • Évitez d'utiliser variables globales, car cela peut entraîner des conflits potentiels et des problèmes de lisibilité du code.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal