Python Glossary English

все Python 3weakrefфункция

weakref.getweakrefs()

интроспекция

Возвращает список всех слабых ссылок и прокси, указывающих на объект. Помогает при отладке понять, кто следит за объектом.

Синтаксис

weakref.getweakrefs(obj)

Список содержит сами объекты-ссылки, а не владельцев: узнать, в какой переменной или словаре лежит ссылка, отсюда нельзя — для этого есть gc.get_referrers. Ссылки с разными callback — разные объекты, поэтому каждая попадёт в список отдельно. Для объектов без поддержки слабых ссылок вернётся пустой список.

Примеры

import weakref
class Item:
    pass
it = Item()
r = weakref.ref(it)
watched = weakref.ref(it, lambda ref: None)
refs = weakref.getweakrefs(it)
print(len(refs), r in refs, watched in refs)  # → 2 True True
print(weakref.getweakrefs('text'))  # → []

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности