Maison > Article > développement back-end > 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 -
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))
('new value', 6)
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)
['new-value', 6]
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)
{'val1': 'new-value', 'val2': 6}
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))
{'val1': 'new-value', 'val2': 6}
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!