Python a-z

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

Poziom: średni Fiszka #111 · Python

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

💡 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:

"Deep copy" tworzy kopię obiektu oraz kopie wszystkich obiektów zawartych wewnątrz, natomiast "shallow copy" kopiuje tylko sam obiekt, a nie jego zawartość.

Przykład w Pythonie:

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