Python · Avançado · Inglês · Técnico
weakref
Módulo que cria referências fracas: apontam para um objeto sem aumentar sua contagem de referências e deixam de valer quando o objeto é coletado.
Onde usar
Usado em caches e registros que não devem manter objetos vivos, como observadores. WeakValueDictionary e WeakSet removem entradas sozinhos quando o objeto some.
Em código
import weakref
class Obj: pass
o = Obj()
r = weakref.ref(o)
print(r() is o)
del o
print(r())Exemplos
Use a weakref so the cache doesn't keep objects alive.
Use um weakref para o cache não manter os objetos vivos.
The weakref returns None after the object is collected.
O weakref devolve None depois que o objeto é coletado.
Cuidado
Nem todo objeto aceita referência fraca: int, str e tuple não aceitam, e classes com __slots__ precisam incluir __weakref__.
Sinônimos
referência fraca