Heim >Backend-Entwicklung >Python-Tutorial >Wie geht Python mit Pass-by-Reference und Pass-by-Value um?
In Python erfolgt die Übergabe von Argumenten an Funktionen per Referenz, was bedeutet, dass der übergebene Parameter eine Referenz auf ist das eigentliche Objekt. Es ist jedoch wichtig, den Unterschied zwischen der Übergabe einer Referenz als Wert und der tatsächlichen Übergabe als Referenz zu verstehen.
In Python werden Parameter als Wert übergeben, was eine Kopie bedeutet Die Größe des Objekts wird dem Parameter innerhalb der Funktion zugewiesen. Dies hat zwei Auswirkungen:
Obwohl echtes Pass-by-Reference in Python nicht direkt unterstützt wird, gibt es mehrere Techniken, um es zu simulieren:
Der folgende Code demonstriert die Übergabe -Referenz mit einer veränderlichen (Liste) und einer unveränderlichen (Zeichenfolge):
# Mutable List def modify_list(the_list): the_list.append('four') outer_list = ['one', 'two', 'three'] print("Before: ", outer_list) modify_list(outer_list) print("After: ", outer_list) # Immutable String def modify_string(the_string): the_string = 'In a kingdom by the sea' outer_string = 'It was many and many a year ago' print("Before: ", outer_string) modify_string(outer_string) print("After: ", outer_string)
Ausgabe:
Before: ['one', 'two', 'three'] After: ['one', 'two', 'three', 'four'] Before: It was many and many a year ago After: It was many and many a year ago
Wie in der Ausgabe zu sehen ist, wird die Liste erfolgreich geändert (Pass-by-Reference), während die Zeichenfolge unverändert bleibt (Pass -nach Wert).
Das obige ist der detaillierte Inhalt vonWie geht Python mit Pass-by-Reference und Pass-by-Value um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!