Python a-z

Twoje centrum interaktywnej nauki Pythona: fiszki, przykłady kodu i edytor w przeglądarce.

Poziom: średni Fiszka #94 · Python

Jakie są różnice między "shallow copy" a "deep copy"?

💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).

Pokaż odpowiedź i przykład kodu

Opis i wyjaśnienie:

"Shallow copy" kopiuje obiekt i jego referencje do obiektów, a "deep copy" kopiuje obiekt i wszystkie obiekty, na które wskazują referencje.

Przykład w Pythonie:

import copy
orig = [[1],[2]]
cp = copy.deepcopy(orig)
orig[0].append(9)
print(cp)  # bez zmian