Python: Implementação de construtores de cópia superficial e profunda

Na maioria das situações, é fácil implementar construtores de cópia (ou operador de atribuição sobrecarregado) em C ++, já que existe um conceito de ponteiros. No entanto, estou bastante confuso sobre como implementar cópia superficial e profunda em Python.

Eu sei que existem comandos especiais em uma das bibliotecas, mas eles não funcionam em classes que você escreveu sozinho. Então, quais são as maneiras comuns de implementar?

P.S. O processo de exibição em algumas estruturas de dados básicas (lista ou árvore vinculada) será apreciado.

EDIT: Obrigado, eles trabalharam, foi meu erro na sintaxe. Estou muito interessado em sobrescrever essas funções com__copy__() e__deep_copy()__. Por exemplo. Como posso fazer uma cópia profunda sem saber que tipo de informação está em uma estrutura de dados?

questionAnswers(1)

yourAnswerToTheQuestion