考虑以下代码:
from weakref import ref
class Klass(object):
# __slots__ = ['foo']
def __init__(self):
self.foo = 'bar'
k = Klass()
r = ref(k)
它可以工作,但是当我取消注释时,它会在 Python 2.6 下__slots__
中断。TypeError: "cannot create weak reference to 'Klass' object"
请问,有谁知道这是否是 Python 的固有限制,__slots__
或者它是否是一个错误?如何解决它?