Это невозможно (по крайней мере, не во всех случаях и не без грязных трюков). В вашем примере A
является ссылкой на объект типа Foo
. Объект не знает, как хранятся ссылки на него. Если вы напишите:
A = Foo(args)
B = A
затем A
и B
оба ссылаются на один и тот же объект и абсолютно неразличимы, поэтому вы не можете найти, какой из них использовался для хранения первой ссылки на объект. Конечно, вы можете отсканировать globals()
для ссылок на объект, и затем вы найдете A
и B
. Однако, если вы del A
, все следы A
исчезнут.
Что вы пытаетесь сделать? Если вы объяснили вариант использования, возможно, мы могли бы предложить альтернативное решение, а не то, что вы просили.