все 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Сообщить о неточности