Рассмотрим следующий код:
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__, или если это ошибка? Как обойти это?