Почему имя содержащего класса не распознается как аннотация функции возвращаемого значения? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как мне указать, что возвращаемый тип метода такой же, как и сам класс в python? 3 ответа

Я собирался использоватьPython-функция аннотации указать тип возвращаемого значения статического метода фабрики. Я понимаю этоодин из желаемых вариантов использования для аннотаций.

class Trie:
    @staticmethod
    def from_mapping(mapping) -> Trie:
        # docstrings and initialization ommitted
        trie = Trie()
        return trie

ПКП 3107 говорится, что:

Аннотации функций - не более чем способ связывания произвольных выражений Python с различными частями функции во время компиляции.

Trie является допустимым выражением в Python, нене так ли? Python не делаетТочнее, не могуне могу найти имя:

def from_mapping(mapping) -> Trie:

NameError: name 'Trie' is not defined

Это'Стоит отметить, что эта ошибка не возникает, если фундаментальный тип (например,object или жеint) или стандартный тип библиотеки (например,collections.deque) уточняется.

Что является причиной этой ошибки и как я могу это исправить?

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

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