ExpertiDict

Python · Avançado · Inglês · Técnico

weakref

/ˈwikˌɹɛf/substantivo

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

Veja também

Todos os termos de Python