и переопределить MyObject как:

аюсь построить граф объектов в некотором коде, где я использую подсказку типа для атрибутов класса в Python 3.6. Обычно это выглядит так:

class MyObject:
    some_variable: float = 1.2

Моя проблема в том, что я хотел бы иметь атрибут, который имеет тип MyObject, как это:

class MyObject:
    parent: MyObject = None

Когда я пытаюсь это сделать, я получаю «NameError: имя« MyObject »не определено», когда я пытаюсь сделать это в аннотации. Это похоже на неподдерживаемый крайний случай, который в настоящее время не может быть успешным, поскольку MyObject не существует полностью во время определения аннотации.

Ответы на вопрос(2)

вероятно, не является желательным способом сделать это, но вы можете определить MyObject с помощью

class MyObject:
    pass

и переопределить MyObject как:

class MyObject:
    parent: MyObject = None
Решение Вопроса

Это можно сделать с помощьюпрямые ссылки, Итак, ваш код будет выглядеть так:

class MyObject:
    parent: 'MyObject' = None

Ваш ответ на вопрос