Позволяет определить действие при глубоком копировании экземпляра.
object.__deepcopy__(self, memo)
-> копия экземпляра
self -- Ссылка на экземпляр.

memo -- Словарь для реконструкции графа объектов.

Данный метод позволяет переопределить поведение при попытке применения функции deepcopy() из модуля copy, производящей глубокое копирование, к экземпляру класса.

Внимание
Реализация должна создавать глубокую копию объекта. Для этого ей следует вызвать copy.deepcopy(), где первый аргумент — это сам объект, а второй — словарь для реконструкции графов сложных объектов (словарь должен хранить соотношения идентификаторов объектов к объектам-копиям).

    from copy import deepcopy


class MyClass:

def __init__(self):
# Допустим в some_attr сложный объект, включающий в себя другие объекты.
self.some_attr = ...

def __deepcopy__(self, memo):
print('deep copying ...')
my_copy = type(self)()
memo[id(self)] = my_copy
my_copy.some_attr = deepcopy(self.some_attr, memo)
return my_copy


my_object = MyClass()
my_object_copy = deepcopy(my_object) # deep copying ...

Нет обсуждений для отображения.

Если у вас есть, что сказать, можете представиться и исправить ситуацию.

На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.