为什么weakref不支持Python中的内置类型?

Rya*_* Ye 10 python weak-references

在Python weakref文档(http://docs.python.org/library/weakref.html)中,它说

一些内置类型(如list和dict)不直接支持弱引用,但可以通过子类化添加支持

我认为在一些真实案例中为大字典创建弱点可能很有用.我想知道实施背后的原因是什么?

ekh*_*oro 6

大多数内置类型不是直接弱引用的(例如str,int,float,list,dict,None),并且有一些甚至不能通过子类化(例如CPython中的元组)来实现.

关于几种内置类型的weakref的底层实现的一些细节可以在Raymond Hettinger的2005年3月至2005年的python-list帖子中找到.