Модул за копиране - плитко и дълбоко копиране на обекти, Python 3 за начинаещи и манекени
Присвояването не копира обекта, а само създава препратка към обекта. За променливи колекции или за колекции, съдържащи изменяеми елементи, често е необходимо копие, за да може да бъде модифицирано без промяна на оригинала. Този модул осигурява общи (плитки и дълбоки) операции за копиране.
- Плитко копие създава нов композитен обект и след това (ако е възможно) вмъква препратки към обекти в него, които са в оригинала.
- Дълбоко копие създава нов сложен обект и след това рекурсивно вмъква копия на оригиналните обекти в него.
Операциите за дълбоко копиране често имат два проблема, които плитките операции за копиране не:
- Рекурсивните обекти (сложни обекти, които изрично или неявно се препращат към себе си) могат да причинят рекурсивен цикъл;
- Тъй като дълбокото копиране копира всичко, то може да копира твърде много, например административни структури от данни, които трябва да се споделят дори между копията.