Рассмотрим следующий код:
from weakref import ref
class Klass(object):
# __slots__ = ['foo']
def __init__(self):
self.foo = 'bar'
k = Klass()
r = ref(k)
он работает, но когда я раскомментирую __slots__
, он разбивается на TypeError: "cannot create weak reference to 'Klass' object"
под Python 2.6.
Пожалуйста, кто-нибудь знает, является ли это неотъемлемым ограничением Python и __slots__
, или если это ошибка? Как обойти это?