weakref

>>> class A: pass
>>> a = A()
>>> ar = weakref.ref(a) # Создаст слабую ссылку на a
>>> print ar
<weakref at 0x135a24; to ‘instance’ at 0x12ce0c>
>>> print ar()
<__main__.A instance at 12ce0c>
>>> del a
>>> print ar()
None
getweakrefcount(object)

Возвращает количество слабых ссылок и объектов-оберток, указывающих на объект.

getweakrefs(object)

Возвращает список всех слабых ссылок и объектов-оберток, указывающих на объект.

class WeakKeyDictionary([dict])

Создает словарь, в котором ключи представлены слабыми ссылками. Когда количество обычных ссылок на объект ключа становится равным нулю, соответствующий элемент словаря автоматически удаляется. Поскольку слабые ссылки могут создаваться только для объектов определенных типов, существует большое число ограничений на допустимые типы объектов ключей. В частности, встроенные строки не могут использоваться в качестве ключей со слабыми ссылками. Однако экземпляры пользовательских классов, объявляющих метод __hash__(), могут играть роль ключей.

Parameters

dict (dict) – словарь, элементы которого добавляются в возвращаемый объект типа WeakKeyDictionary.

iterkeyrefs()

Возвращает слабые ссылки на ключи.

keyrefs()

Возвращает слабые ссылки на ключи.

class WeakValueDictionary([dict])

Создает словарь, в котором значения представлены слабыми ссылками. Когда количество обычных ссылок на объект значения становится равным нулю, соответствующий элемент словаря автоматически удаляется.

Parameters

dict (dict) – словарь, элементы которого добавляются в возвращаемый объект типа WeakKeyDictionary.

valuerefs()

Возвращает слабые ссылки на значения.

itervaluerefs()

Возвращает слабые ссылки на значения.

ProxyTypes

Это кортеж (ProxyType, CallableProxyType), который может использоваться для проверки на принадлежность объекта к одному из типов прокси-объектов, создаваемых функцией proxy(), например isinstance(object, ProxyTypes).