Why doesn't this work?
[color=blue][color=green][color=darkred]
>>> from weakref import ref
>>> class C(str): pass[/color][/color][/color]
....[color=blue][color=green][color=darkred]
>>> ref(C())[/color][/color][/color]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: cannot create weak reference to 'C' object[color=blue][color=green][color=darkred]
>>>[/color][/color][/color]
Note that this does work:
[color=blue][color=green][color=darkred]
>>> class D(int): pass[/color][/color][/color]
....[color=blue][color=green][color=darkred]
>>> ref(D())[/color][/color][/color]
<weakref at 0x53e10; dead>[color=blue][color=green][color=darkred]
>>>[/color][/color][/color]
Likewise for floats, lists, etc. Everything but strs.
rg
[color=blue][color=green][color=darkred]
>>> from weakref import ref
>>> class C(str): pass[/color][/color][/color]
....[color=blue][color=green][color=darkred]
>>> ref(C())[/color][/color][/color]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: cannot create weak reference to 'C' object[color=blue][color=green][color=darkred]
>>>[/color][/color][/color]
Note that this does work:
[color=blue][color=green][color=darkred]
>>> class D(int): pass[/color][/color][/color]
....[color=blue][color=green][color=darkred]
>>> ref(D())[/color][/color][/color]
<weakref at 0x53e10; dead>[color=blue][color=green][color=darkred]
>>>[/color][/color][/color]
Likewise for floats, lists, etc. Everything but strs.
rg
Comment