По историческим причинам (читай: ужасные type(t) == tuple
проверки) я чувствую, что мне нужно заморозить круговой график как коллекцию tuple
объектов. Это, очевидно, не идеально:
>>> head = ("head", None)
>>> a = ("a", ("b", ("c", head)))
>>> head[1] = a
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
head[1] = a
TypeError: 'tuple' object does not support item assignment
Я, однако, на самом деле не большой сторонник TypeError
s, и подозреваю, что с помощью хакерских атак, связанных с реализацией, это можно сделать.
- Как я могу создать это чудовище, не рискуя выйти за границы или вызвать другое неопределенное поведение C?
- Может ли часть, освобождающая от циклических зависимостей, сборщик мусора справиться с такой вещью?