
Finalmente, em main (), quando print_node_objects () é chamado, vemos que ele não encontra nenhum objetivo do mynode na pilha que ainda está vivo.Por exemplo, convém garantir que exista apenas um objeto canônico que representa um recurso (como uma entrada de tabela de símbolos, conexão com o banco de dados ou esquema analisado).Após o retorno do test2 (), quando chamamos de print_node_objects (), vemos que ele nos diz que os objetos MyNode que criamos para N1 e N2 ainda estão vivos.Vemos que no Test2 (), a contagem de referência para N1 e N2 é 3, um maior do que o que era no Test1 ().Com base nesse primitivo, o WeawValedictionary e o Frawset do Python oferece aos contêineres de nível mais alto para caches, registros e listas de assinantes que se limpam automaticamente quando seu conteúdo desaparece.
Fonte: https://blog.codingconfessions.com/p/a-strong-reference-to-weak-references