Mělké Kopie
mělké kopie vytvoří novou sloučeninu objekt a pak (v možném rozsahu) vloží odkazy na to, na objekty nalezené v originále.
Máme tu tři různé způsoby vytvoření mělké kopie:
Tady, všechny výše uvedené seznamy obsahují stejné hodnoty jako původní seznam:
>>> print(nums == m1 == m2 == m3)
True
Nicméně, adresa paměti každý je jiný.,
to znamená, že tentokrát má objekt každého seznamu vlastní nezávislou paměťovou adresu.
nyní se přesuneme do zajímavější části. Pokud je původní seznam složeným objektem (např. seznam seznamů), pak po mělké kopii nové prvky seznamu stále odkazují na původní prvky.
takže pokud upravíte proměnlivé prvky, jako jsou seznamy, změny se projeví na původních prvcích., Pojďme se podívat na příklad níže, aby získali lepší pochopení:
Jak vidíte ve výše uvedeném příkladu, když jsme se úprava vnitřní seznam prvků nový seznam je aktualizován v původním seznamu i, protože a
b
stále ukazovat na stejnou adresu paměti (originální seznam).
nový seznam b
má svou vlastní adresu paměti, ale jeho prvky nejsou., Je to proto, že v mělké kopii namísto kopírování prvků seznamu do nového objektu jednoduše zkopíruje odkazy na jejich paměťové adresy.
proto, zatímco provádíme změny původního objektu, odráží se to v kopírovaných objektech a naopak.
toto je charakteristika mělké kopie.