Alle Parameter (Argumente) in der Python-Sprache werden als Referenz übergeben. Das heißt, wenn Sie den Referenzinhalt eines Parameters in einer Funktion ändern, wird diese Änderung auch in der aufrufenden Funktion widergespiegelt.
Erreichen Sie dies durch -
In diesem Beispiel geben wir ein Tupel von Ergebnissen zurück -
# 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)
In diesem Beispiel übergeben wir ein veränderliches Objekt -
# 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]
In diesem Beispiel übergeben wir ein Wörterbuch -
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}
In diesem Beispiel packen wir den Wert in die Klasseninstanz -
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}
Das obige ist der detaillierte Inhalt vonWie schreibe ich eine Funktion mit Ausgabeparametern (aufgerufen per Referenz) in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!