Heim >Backend-Entwicklung >Python-Tutorial >Wie unterscheiden sich flaches und tiefes Kopieren in Python?
Kopieren von Objekten in Python
Das Erstellen einer unabhängigen Kopie eines Objekts ist eine häufige Aufgabe in der Programmierung. In Python gibt es zwei Hauptmethoden zum Kopieren eines Objekts: flaches Kopieren und tiefes Kopieren.
Flaches Kopieren
Pythons Standardkopiermechanismus ist flaches Kopieren. Dies bedeutet, dass ein neues Objekt mit einer Referenz auf dieselben Felder wie das ursprüngliche Objekt erstellt wird. Alle an den Feldern des neuen Objekts vorgenommenen Änderungen werden auch im Originalobjekt widergespiegelt.
Deep Copying
Deep Copy hingegen erstellt ein neues Objekt mit separaten Kopien der Felder vom Originalobjekt. Dies bedeutet, dass sich alle an den Feldern des neuen Objekts vorgenommenen Änderungen nicht auf das ursprüngliche Objekt auswirken.
Um eine vollständig tiefe unabhängige Kopie eines Objekts in Python zu erhalten, können Sie die Kopie verwenden .deepcopy()-Funktion. Hier ist ein Beispiel:
<code class="python">import copy # Original object obj = { "name": "Alice", "age": 20 } # Create a shallow copy shallow_copy = obj # Create a deep copy deep_copy = copy.deepcopy(obj) # Modify the shallow copy shallow_copy["name"] = "Bob" # Print the original and deep copy print(obj) # Output: {'name': 'Bob', 'age': 20} print(deep_copy) # Output: {'name': 'Alice', 'age': 20}</code>
Wie Sie sehen können, behält die tiefe_Kopie die ursprünglichen Werte des Objekts bei, während die flache_Kopie von den am ursprünglichen Objekt vorgenommenen Änderungen betroffen ist.
Das obige ist der detaillierte Inhalt vonWie unterscheiden sich flaches und tiefes Kopieren in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!