Maison > développement back-end > Tutoriel Python > Comment écrire une fonction avec des paramètres de sortie (appelés par référence) en Python ?

Comment écrire une fonction avec des paramètres de sortie (appelés par référence) en Python ?

WBOY
Libérer: 2023-09-02 16:21:06
avant
943 Les gens l'ont consulté

Comment écrire une fonction avec des paramètres de sortie (appelés par référence) en Python ?

Tous les paramètres (arguments) du langage Python sont passés par référence. Cela signifie que si vous modifiez le contenu de référence d'un paramètre dans une fonction, cette modification sera également reflétée dans la fonction appelante.

Réalisez cela d'ici -

tuple de résultat de retour

Exemple

Dans cet exemple, nous renverrons un tuple de résultats -

# Function Definition
def demo(val1, val2):
   val1 = 'new value'
   val2 = val2 + 1
   return val1, val2

x, y = 'old value', 5

# Function call
print(demo(x, y))
Copier après la connexion

Sortie

('new value', 6)
Copier après la connexion

Passer des objets mutables

Exemple

Dans cet exemple, nous passerons un objet mutable -

# Function Definition
def demo2(a):
   # 'a' references a mutable list
   a[0] = 'new-value'
   # This changes a shared object
   a[1] = a[1] + 1

args = ['old-value', 5]
demo2(args)
print(args)
Copier après la connexion

Sortie

['new-value', 6]
Copier après la connexion

Passez un dictionnaire muté

Exemple

Dans cet exemple, nous passerons un dictionnaire -

def demo3(args):
   # args is a mutable dictionary
   args['val1'] = 'new-value'
   args['val2'] = args['val2'] + 1

args = {'val1': 'old-value', 'val2': 5}

# Function call
demo3(args)
print(args)
Copier après la connexion

Sortie

{'val1': 'new-value', 'val2': 6}
Copier après la connexion
Copier après la connexion

Valeurs dans les instances de classe

Exemple

Dans cet exemple, nous allons emballer la valeur dans l'instance de classe -

class Namespace:
   def __init__(self, **args):
      for key, value in args.items():
         setattr(self, key, value)

def func4(args):
   # args is a mutable Namespace
   args.val1 = 'new-value'
   args.val2 = args.val2 + 1

args = Namespace(val1='old-value', val2=5)

# Function Call
func4(args)
print(vars(args))
Copier après la connexion

Sortie

{'val1': 'new-value', 'val2': 6}
Copier après la connexion
Copier après la connexion

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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal